day5-作業(yè)

基礎(chǔ)

讀程序,總結(jié)程序的功能:

numbers = 1
for i in range(0,20):
 numbers * = 2
print(numbers)

執(zhí)行數(shù)字2的20次方

summation = 0
num = 1
while num <= 100:
    if (num % 3 == 0 or num % 7 == 0) and num % 21 != 0:
         summation += 1
    num += 1
print(summation)

統(tǒng)計數(shù)字(1~100)中,能被3整除或者被7整除,但不能同時被3和7整除的數(shù)的個數(shù)。

編程實現(xiàn)(for和while各寫一遍):

  1. 求1到100之間所有數(shù)的和、平均值
    for:
sum1 = 0
for num in range(1,101):
    sum1 += num
print('1~100的和:%d' % sum1)
average = sum1 / 100
print('1~100的平均值:%d' % average)

1~100的和:5050
1~100的平均值:50

while:

num = 1
sum1 = 0
while num <= 100:
    sum1 += num
    num += 1
print('1~100的和:%d' % sum1)
average = sum1 / 100
print('1~100的平均值:%d' % average)

1~100的和:5050
1~100的平均值:50

  1. 計算1-100之間能3整除的數(shù)的和
    for:
sum1 = 0
for num in range(1,101):
    if num % 3 == 0:
        sum1 += num
print('被3整除的數(shù)的和:%d' % sum1)

被3整除的數(shù)的和:1683

while:

sum2 = 0
num1 = 1
while num1 <= 100:
    if num1 % 3 == 0:
        sum2 += num1
    num1 += 1
print('被3整除的數(shù)的和:%d' % sum2)

被3整除的數(shù)的和:1683

  1. 計算1-100之間不能被7整除的數(shù)的和
    for:
sum1 = 0
for num in range(1,101):
    if num % 7 == 0:
        continue
    sum1 += num
print('不能被7整除的數(shù)的和:%d' % sum1)

不能被7整除的數(shù)的和:4315

while:

sum2 = 0
num1 = 1
while num1 <= 100:
    if num1 % 7 != 0:
        sum2 += num1
    num1 += 1
print('不能被7整除的數(shù)的和:%d' % sum2)

不能被7整除的數(shù)的和:4315


稍微困難

  1. 求斐波那契數(shù)列中第n個數(shù)的值:1,1,2,3,5,8,13,21,34....
f1 = 1
f2 = 1
fn = 0
n = int(input("請輸入斐波那契數(shù)列第n個數(shù):"))
for n in range(1, n + 1):
    if n == 1:
        f1 = 1
    elif n == 2:
        f2 = 1
    else:
        fn = f1 + f2
        f1 = f2
        f2 = fn
print("第%d個斐波那契數(shù)列的值:%d" % (n, fn))

例:請輸入斐波那契數(shù)列第n個數(shù):15
第15個斐波那契數(shù)列的值:610

  1. 判斷101-200之間有多少個素數(shù),并輸出所有素數(shù)。判斷素數(shù)的方法:用一個數(shù)分別除2到sqrt(這個
    數(shù)),如果能被整除,則表明此數(shù)不是素數(shù),反之是素數(shù)
count = 0
for num1 in range(101,201,2):
    for num2 in range(2,num1) :
        if num1 % num2 == 0:
            break
    else:
        count += 1
        print(num1)
print("素數(shù)的個數(shù):%d" % count)

101
103
107
109
113
127
131
137
139
149
151
157
163
167
173
179
181
191
193
197
199
素數(shù)的個數(shù):21

  1. 打印出所有的水仙花數(shù),所謂水仙花數(shù)是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是
    一個水仙花數(shù),因為153 = 1^3 + 5^3 + 3^3
print("所有水仙花數(shù):" )
for num1 in range(100,1000):
    bw = num1 // 100
    sw = num1 // 10 % 10
    gw = num1 % 10
    if num1 == bw ** 3 + sw ** 3 + gw ** 3:
        print(num1)

所有水仙花數(shù):
153
370
371
407

  1. 有一分數(shù)序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個數(shù)列的第20個分數(shù)
    分子:上一個分數(shù)的分子加分母
    分母: 上一個分數(shù)的分子 fz = 2 fm = 1 fz+fm / fz
import fractions
fz = 2
fm = 1
n = int(input("請輸入第n個分數(shù)序列:"))
for n in range(1,n+1):
    if n == 1:
        num1 = fractions.Fraction(fz, fm)
    else:
        fz = fz + fm
        fm = fz - fm
        num1 = fractions.Fraction(fz, fm)
print(num1)

請輸入第n個分數(shù)序列:20
第20個分數(shù)值: 17711/10946

  1. 給一個正整數(shù),要求:1、求它是幾位數(shù) 2.逆序打印出各位數(shù)字
num1 = input("請輸入一個正整數(shù):")
str1 = str(num1)
print("這個整數(shù)是%d位數(shù)" % len(str1))
print("逆序打?。?)
for index in range(0,len(str1)):
    print(str1[len(str1)-1-index])

例:請輸入一個正整數(shù):256578745
這個整數(shù)是9位數(shù)
逆序打?。?br> 5
4
7
8
7
5
6
5
2


提高

1.控制臺輸入年齡,根據(jù)年齡輸出不同的提示(例如:老年人,青壯年,成年人,未成年,兒童)

age = int(input("請輸入年齡:"))
if age < 12:
    print("兒童")
elif age < 18:
    print("未成年")
elif age < 30:
    print("成年人")
elif age < 50:
    print("青壯年")
elif age > 50:
    print("老年人")

例:
請輸入年齡:23
成年人

2.計算5的階乘 5!的結(jié)果是

sum1 = 1
for num1 in range(1,6):
    sum1 *= num1
print("5的階乘5!的結(jié)果是:%d" % sum1)

5的階乘5!的結(jié)果是:120

3.求1+2!+3!+...+20!的和 1.程序分析:此程序只是把累加變成了累乘。

sum1 = 1
sum2 = 0
for num1 in range(1,21):
    for num2 in range(1,num1+1):
        sum1 *= num2
    sum2 += sum1
    sum1 = 1
print("1+2!+3!+...+20!的結(jié)果是:%d" % sum2)

1+2!+3!+...+20!的結(jié)果是:2561327494111820313

4.計算 1+1/2!+1/3!+1/4!+...1/20!=?

import fractions
sum1 = 1
sum2 = 0
num3 = 0
for num1 in range(1, 21):
    for num2 in range(1,num1+1):
        sum1 *= num2
        num3 = fractions.Fraction(1, sum1)
    sum2 += num3
    sum1 = 1
print("1+1/2!+1/3!+1/4!...+1/20!的結(jié)果是:%.2f" % sum2)

1+1/2!+1/3!+1/4!...+1/20!的結(jié)果是:1.72

5.循環(huán)輸入大于0的數(shù)字進行累加,直到輸入的數(shù)字為0,就結(jié)束循環(huán),并最后輸出累加的結(jié)果。

value = int(input("請輸入:"))
sum1 = value
while value != 0:
    value = int(input("請輸入:"))
    sum1 += value
print("輸入數(shù)字的和:%d" % sum1)

例:請輸入:3
請輸入:6
請輸入:7
請輸入:4
請輸入:2
請輸入:5
請輸入:9
請輸入:1
請輸入:0
輸入數(shù)字的和:37

6.求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個數(shù)字。例如2+22+222+2222+22222(此時共有5個數(shù)相加),幾個數(shù)相加有鍵盤控制。 1.程序分析:關(guān)鍵是計算出每一項的值。

a = int(input("請輸入一個數(shù)字:"))
b = int(input("請輸入相加個數(shù):"))
sum1 = 1
s = 0
for num1 in range(1, b+1):
    for num in range(1, num1+1):
        sum1 = a * 10 ** (num-1)
        s += sum1
print("所有數(shù)值之和:%d" % s)

例:請輸入一個數(shù)字:2
請輸入相加個數(shù):5
所有數(shù)值之和:24690

7.輸入三個整數(shù)x,y,z,請把這三個數(shù)由小到大輸出。

x = int(input("請輸入:x="))
y = int(input("請輸入:y="))
z = int(input("請輸入:z="))
num1 = max(x, y, z)
num2 = min(x, y, z)
num3 = x + y + z - num1 - num2
print(num2, num3, num1)

請輸入:x=2
請輸入:y=4
請輸入:z=3
2 3 4

8.控制臺輸出三角形

a.根據(jù)n的值的不同,輸出相應(yīng)的形狀
n = 5時                n = 4
*****                  ****
****                   ***
***                    **
**                     *
*
str1 = '*'
n = int(input("n="))
str2 = str1 * n
for i in range(n):
    print(str2[:n])
    n -= 1

例:
n=5
*****
****
***
**
*

b.根據(jù)n的值的不同,輸出相應(yīng)的形狀(n為奇數(shù))
n = 5               n = 7
  *                    *
 ***                  ***
*****                *****
                    *******
str1 = '*'
n = int(input("請輸入一個奇數(shù):n="))
for i in range((n+1) // 2):
    str2 = str1.center(n, ' ')
    print(str2)
    str1 += '*'
    str1 += '*'
例:
n=7
   *  
  *** 
 *****
*******

9.輸出9*9口訣。 1.程序分析:分行與列考慮,共9行9列,i控制行,j控制列。

for i in range(1, 10):
    for j in range(1, i+1):
        num1 = i * j
        print("%d * %d = %d" % (j, i, num1), '\t', end='')
        if i == j:
            print('')
1 * 1 = 1   
1 * 2 = 2   2 * 2 = 4   
1 * 3 = 3   2 * 3 = 6    3 * 3 = 9  
1 * 4 = 4   2 * 4 = 8    3 * 4 = 12   4 * 4 = 16    
1 * 5 = 5   2 * 5 = 10   3 * 5 = 15   4 * 5 = 20   5 * 5 = 25   
1 * 6 = 6   2 * 6 = 12   3 * 6 = 18   4 * 6 = 24   5 * 6 = 30   6 * 6 = 36  
1 * 7 = 7   2 * 7 = 14   3 * 7 = 21   4 * 7 = 28   5 * 7 = 35   6 * 7 = 42   7 * 7 = 49     
1 * 8 = 8   2 * 8 = 16   3 * 8 = 24   4 * 8 = 32   5 * 8 = 40   6 * 8 = 48   7 * 8 = 56   8 * 8 = 64    
1 * 9 = 9   2 * 9 = 18   3 * 9 = 27   4 * 9 = 36   5 * 9 = 45   6 * 9 = 54   7 * 9 = 63   8 * 9 = 72   9 * 9 = 81

10.這是經(jīng)典的"百馬百擔"問題,有一百匹馬,馱一百擔貨,大馬馱3擔,中馬馱2擔,兩只小馬馱1擔,問有大,中,小馬各幾匹?

print("大馬、中馬、小馬匹數(shù)有如下情況:")
for dm in range(1, 99):
    for zm in range(1, 99):
        for xm in range(1, 99):
            if dm + zm + xm == 100 and 3 * dm + 2 * zm + 0.5 * xm == 100:
                print(dm, zm, xm)

大馬、中馬、小馬匹數(shù)有如下情況:
2 30 68
5 25 70
8 20 72
11 15 74
14 10 76
17 5 78

11.我國古代數(shù)學(xué)家張邱建在《算經(jīng)》中出了一道“百錢買百雞”的問題,題意是這樣的: 5文錢可以買一只公雞,3文錢可以買一只母雞,1文錢可以買3只雛雞?,F(xiàn)在用100文錢買100只雞,那么各有公雞、母雞、雛雞多少只?請編寫程序?qū)崿F(xiàn)。

print("公雞、母雞、雛雞個數(shù)有如下情況:")
for gj in range(1, 99):
    for mj in range(1, 99):
        for cj in range(1, 99):
            if gj + mj + cj == 100 and 5 * gj + 3 * mj + 1/3 * cj == 100:
                print(gj, mj, cj)

公雞、母雞、雛雞個數(shù)有如下情況:
4 18 78
8 11 81
12 4 84

12.小明單位發(fā)了100元的購物卡,小明到超市買三類洗化用品,洗發(fā)水(15元),香皂(2元),牙刷(5元)。要把100元整好花掉,可如有哪些購買結(jié)合?

print("購買方式有如下情況:")
for xfs in range(0, 7):
    for xz in range(0, 51):
        for ys in range(0, 21):
            if 15 * xfs + 2 * xz + 5 * ys == 100:
                print("洗發(fā)水%d瓶,香皂%d塊,牙刷%d支" % (xfs, xz, ys))

購買方式有如下情況:
洗發(fā)水0瓶,香皂0塊,牙刷20支
洗發(fā)水0瓶,香皂5塊,牙刷18支
洗發(fā)水0瓶,香皂10塊,牙刷16支
洗發(fā)水0瓶,香皂15塊,牙刷14支
洗發(fā)水0瓶,香皂20塊,牙刷12支
洗發(fā)水0瓶,香皂25塊,牙刷10支
洗發(fā)水0瓶,香皂30塊,牙刷8支
洗發(fā)水0瓶,香皂35塊,牙刷6支
洗發(fā)水0瓶,香皂40塊,牙刷4支
洗發(fā)水0瓶,香皂45塊,牙刷2支
洗發(fā)水0瓶,香皂50塊,牙刷0支
洗發(fā)水1瓶,香皂0塊,牙刷17支
洗發(fā)水1瓶,香皂5塊,牙刷15支
洗發(fā)水1瓶,香皂10塊,牙刷13支
洗發(fā)水1瓶,香皂15塊,牙刷11支
洗發(fā)水1瓶,香皂20塊,牙刷9支
洗發(fā)水1瓶,香皂25塊,牙刷7支
洗發(fā)水1瓶,香皂30塊,牙刷5支
洗發(fā)水1瓶,香皂35塊,牙刷3支
洗發(fā)水1瓶,香皂40塊,牙刷1支
洗發(fā)水2瓶,香皂0塊,牙刷14支
洗發(fā)水2瓶,香皂5塊,牙刷12支
洗發(fā)水2瓶,香皂10塊,牙刷10支
洗發(fā)水2瓶,香皂15塊,牙刷8支
洗發(fā)水2瓶,香皂20塊,牙刷6支
洗發(fā)水2瓶,香皂25塊,牙刷4支
洗發(fā)水2瓶,香皂30塊,牙刷2支
洗發(fā)水2瓶,香皂35塊,牙刷0支
洗發(fā)水3瓶,香皂0塊,牙刷11支
洗發(fā)水3瓶,香皂5塊,牙刷9支
洗發(fā)水3瓶,香皂10塊,牙刷7支
洗發(fā)水3瓶,香皂15塊,牙刷5支
洗發(fā)水3瓶,香皂20塊,牙刷3支
洗發(fā)水3瓶,香皂25塊,牙刷1支
洗發(fā)水4瓶,香皂0塊,牙刷8支
洗發(fā)水4瓶,香皂5塊,牙刷6支
洗發(fā)水4瓶,香皂10塊,牙刷4支
洗發(fā)水4瓶,香皂15塊,牙刷2支
洗發(fā)水4瓶,香皂20塊,牙刷0支
洗發(fā)水5瓶,香皂0塊,牙刷5支
洗發(fā)水5瓶,香皂5塊,牙刷3支
洗發(fā)水5瓶,香皂10塊,牙刷1支
洗發(fā)水6瓶,香皂0塊,牙刷2支
洗發(fā)水6瓶,香皂5塊,牙刷0支

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

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

  • 一、基礎(chǔ) 1、讀程序,總結(jié)程序的功能: 答案:分解程序:功能:2的20次方。 2、讀程序,總結(jié)程序的功能: 答案:...
    遇見那天的雨真大閱讀 473評論 0 0
  • 8月22日-----字符串相關(guān) 2-3 個性化消息: 將用戶的姓名存到一個變量中,并向該用戶顯示一條消息。顯示的消...
    future_d180閱讀 1,042評論 0 1
  • 作業(yè) 功能:求2的20次方 求1-100數(shù)據(jù)中, 能被3或者7整除的數(shù)而且這個數(shù)不能被21整除,然后求結(jié)果總和 編...
    312d026ea2dd閱讀 1,095評論 0 0
  • 基礎(chǔ) 讀程序,總結(jié)程序的功能: 總結(jié) :程序循環(huán)20次 每次numbers=2 結(jié)果為2*20 = 1...
    詩妮SONY閱讀 242評論 0 0
  • [題目] Spring中定義bean的作用域時,使用singleton和prototype有何區(qū)別? [正確答案]...
    博為峰51Code教研組閱讀 438評論 0 1

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