day04_homework

  • 1.控制臺輸入年齡,根據(jù)年齡輸出不同的提示(例如:老年人,青壯年,成年人,未成年,兒童)
age = int(input('輸入一個年齡: '))
if age >= 60:
    print('老年人')
elif age >= 40:
    print('青壯年')
elif age >= 18:
    print('成年人')
elif age >= 7:
    print('未成年')
else:
    print('兒童')
  • 2.計(jì)算5的階乘 5!的結(jié)果是
factoriaNum = 1
for i in range(1, 6):
    factoriaNum *= i
print(factoriaNum)
  • 3.求1+2!+3!+...+20!的和 1.程序分析:此程序只是把累加變成了累乘。
sum0 = 0
for num1 in range(1, 21):
    factoriaNum = 1
    # 求出每一項(xiàng)的階乘結(jié)果
    for fNum in range(1, num1+1):
        factoriaNum *= fNum
    # 將所有階乘相加
    sum0 += factoriaNum
print(sum0)
  • 4.計(jì)算 1+1/2!+1/3!+1/4!+...1/20!=?
    sum1 = 0
for num1 in range(1, 21):
    factoriaNum2 = 1
    # 計(jì)算每一項(xiàng)階乘的結(jié)果
    for fNum in range(1, num1+1):
        factoriaNum2 *= fNum
    # 將所有階乘的倒數(shù)相加
    factoriaNum2 = 1.0/factoriaNum2
    # print(factoriaNum2)
    sum1 += factoriaNum2
print(sum1)
  • 5.循環(huán)輸入大于0的數(shù)字進(jìn)行累加,直到輸入的數(shù)字為0,就結(jié)束循環(huán),并最后輸出累加的結(jié)果。
sum2 = 0
while True:
    num2 = float(input('請輸入一個正數(shù): '))
    if num2 != 0:
        sum2 += num2
    else:
        break
print(sum2)
  • 6.求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個數(shù)字。例如2+22+222+2222+22222(此時共有5個數(shù)相加),幾個數(shù)相加有鍵盤控制。 1.程序分析:關(guān)鍵是計(jì)算出每一項(xiàng)的值。
a = int(input('請輸入a:'))
num = int(input('請輸入數(shù)字個數(shù):'))
sum3 = 0
for n in range(1, num+1):
    everyNum = 0
    # 得到 需要計(jì)算的每一個數(shù)(2,22,222。。。)
    for i in range(n):
        everyNum += (a*10**i)
    # print(everyNum)
    sum3 += everyNum
print(sum3)
  • 7.輸入三個整數(shù)x,y,z,請把這三個數(shù)由小到大輸出。
x = int(input('輸入整數(shù)x:')) 
y = int(input('輸入整數(shù)y:')) 
z = int(input('輸入整數(shù)z:')) 
# 以原數(shù)為從大到小的順序考慮(操作步驟最多)
#321-231
if x > y:
    t = x
    x = y
    y = t
# 231-213
if y > z:
    t = y
    y = z
    z = t
# 213-123
if x > y:
    t = x
    x = y
    y = t
print(x, y, z)
  • 8.控制臺輸出三角形
sideLength = int(input('請輸入三角形的邊長'))
for l in range(sideLength):
    # 第l+1行 有 sideLength-l 個 '*'
    for x in range(sideLength - l):
        print('*', end='')
    print('\n')
  • 9.輸出9*9口訣。 1.程序分析:分行與列考慮,共9行9列,i控制行,j控制列。
#第i行
for i in range(1, 10):
    # 每一行中 當(dāng)j==i 該行的乘法口訣已經(jīng)考慮完
    for j in range(1, i+1):
        # 每一行都需從1xi 開始,j在前 每一行未算完不能換行 增加end=','以','結(jié)尾
        print('%dx%d=%d'%(j, i, i*j), end=',')
    # 輸入完每一行需要換行
    print('\n')
  • 10.這是經(jīng)典的"百馬百擔(dān)"問題,有一百匹馬,馱一百擔(dān)貨,大馬馱3擔(dān),中馬馱2擔(dān),兩只小馬馱1擔(dān),問有大,中,小馬各幾匹?
#假定有x匹大馬,y匹中馬,100-x-y匹小馬, x < 100/3 y <= (100 - 3*x) 進(jìn)行遍歷求值
for x in range(34):
    for y in range((100 - 3*x) // 2 + 1):
        if 3*x +2*y + (100-x-y) / 2 == 100:
            print('大馬%d匹,中馬%d匹,小馬%d匹'%(x, y, 100-x-y)) 
  • 11.我國古代數(shù)學(xué)家張邱建在《算經(jīng)》中出了一道“百錢買百雞”的問題,題意是這樣的:5文錢可以買一只公雞,3文錢可以買一只母雞,1文錢可以買3只雛雞。現(xiàn)在用100文錢買100只雞,那么各有公雞、母雞、雛雞多少只?請編寫程序?qū)崿F(xiàn)。
# 假定公雞x只,母雞y只 小雞100-x-y只,x <= 100/5 y <= (100 - 5*x) 進(jìn)行遍歷求值
for x in range(21):
    for y in range((100 - 5*x) // 3 + 1):
        if 5*x +3*y + (100-x-y) / 3 == 100:
            print('公雞%d只,母雞%d只,雛雞%d只'%(x, y, 100-x-y)) 
  • 12.小明單位發(fā)了100元的購物卡,小明到超市買三類洗化用品,洗發(fā)水(15元),香皂(2元),牙刷(5元)。要把100元整好花掉,可如有哪些購買結(jié)合?
#假定買洗發(fā)水x瓶,香皂y塊 則牙刷(100-15*x-2*y)/5根,x <= 100/15 y <= (100 - 15*x) 進(jìn)行遍歷求值
for x in range(7):
    for y in range((100 - 15*x)//2 + 1):
        if (100-15*x-2*y) % 5 == 0:
            print('洗發(fā)水%d瓶,香皂%d塊 則牙刷%d根'%(x, y, (100-15*x-2*y) / 5)) 

程序解決實(shí)際數(shù)學(xué)問題時,通常利用計(jì)算機(jī)的高性能,采用窮舉法,結(jié)合循環(huán) 及判斷語句 得到想要的結(jié)果。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 8月22日-----字符串相關(guān) 2-3 個性化消息: 將用戶的姓名存到一個變量中,并向該用戶顯示一條消息。顯示的消...
    future_d180閱讀 1,042評論 0 1
  • 基礎(chǔ) 讀程序,總結(jié)程序的功能: 1. numbers=1 for i in range(0,20): number...
    Voyaserfuerte閱讀 257評論 0 0
  • 基礎(chǔ) 讀程序,總結(jié)程序的功能 1.計(jì)算2的20次方的值(將1左移20位)。 2.統(tǒng)計(jì)1到100中能被3或7整除,但...
    barriers閱讀 594評論 0 0
  • 1.print輸出 打印完內(nèi)容,默認(rèn)換行 可以同時打印多個內(nèi)容,內(nèi)容見逗號隔開,效果為空格隔開 print(內(nèi)容,...
    rzlong閱讀 247評論 0 2
  • 1.控制臺輸入年齡,根據(jù)年齡輸出不同的提示(例如:老年人,青壯年,成年人,未成年,兒童) 2.計(jì)算5的階乘 5!的...
    DoubleKou閱讀 191評論 1 1

友情鏈接更多精彩內(nèi)容