day4-作業(yè)1

day4-作業(yè)1


一、基礎(chǔ)

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

1.

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

2**20


2.

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)

# 1到100之內(nèi)的能被3整除或能被7整除,但是不能同時(shí)被3或7整除的數(shù)有多少個(gè)


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

1. 求1到100之間所有數(shù)的和、平均值

# for循環(huán)
sum1 = 0
average = 0
n = 0
for n in range(1, 101):
    sum1 += n
average = sum1 / n
print('和為%d,平均值為%.2f' % (sum1, average))

# while循環(huán)
sum1 = 0
average = 0
n = 1
while n <= 100:
    sum1 += n
    n += 1
average = sum1 / (n - 1)
print('和為%d,平均值為%.2f' % (sum1, average))

2. 計(jì)算1-100之間能3整除的數(shù)的和

# for循環(huán)
sum2 = 0
for n in range(1, 101):
    if not n % 3:
        sum2 += n
print('1-100能被3整除的數(shù)的和為%d' % sum2)

# while循環(huán)
sum2 = 0
n = 1
while n <= 100:
    if n % 3 == 0:
        sum2 += n
    n += 1
print('1-100能被3整除的數(shù)的和為%d' % sum2)

3. 計(jì)算1-100之間不能被7整除的數(shù)的和

# for循環(huán)
sum3 = 0
for n in range(1, 101):
    if n % 7 == 0:
        continue
    sum3 += n
print('1-100不能被7整除的數(shù)的和為%d' % sum3)

# while循環(huán)
sum3 = 0
n = 1
while n <= 100:
    if n % 7:
        sum3 += n
    n += 1
print('1-100不能被7整除的數(shù)的和為%d' % sum3)

二、稍微困難

1. 求斐波那契數(shù)列中第n個(gè)數(shù)的值:1,1,2,3,5,8,13,21,34....

num1, num2 = 0, 1
n = int(input('請(qǐng)輸入你想得到第幾位斐波那契數(shù):'))
for _ in range(n):
    num1, num2 = num2, (num1 + num2)
print('第%d位斐波那契數(shù)是%d' % (n, num1))

2. 判斷101-200之間有多少個(gè)素?cái)?shù),并輸出所有素?cái)?shù)。判斷素?cái)?shù)的方法:用一個(gè)數(shù)分別除2到sqrt(這個(gè)數(shù)),如果能被整除,則表明此數(shù)不是素?cái)?shù),反之是素?cái)?shù)

count = 0
for x in range(101, 201):
    # 把這個(gè)數(shù)從2除到它本身都不能整除則是素?cái)?shù),也可以用math.sqrt來(lái)判斷
    for n in range(2, x):
        if x % n == 0:
            break
    else:
        count += 1
        print(x, end=' ')
print('101-200之間共有%d個(gè)素?cái)?shù)' % count)

3. 打印出所有的水仙花數(shù),所謂水仙花數(shù)是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個(gè)水仙花數(shù),因?yàn)?53 = 1^3 + 5^3 + 3^3

for x in range(100, 1000):
    a = x % 10
    b = x // 10 % 10
    c = x // 100
    if x == a**3 + b**3 + c**3:
        print(x, end=' ')

4.有一分?jǐn)?shù)序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個(gè)數(shù)列的第20個(gè)分?jǐn)?shù)分子:上一個(gè)分?jǐn)?shù)的分子加分母 分母: 上一個(gè)分?jǐn)?shù)的分? fz = 2 fm = 1 fz+fm / fz

fz, fm = 1, 1
for _ in range(20):
    a = fz + fm
    fm = fz
    fz = a
print('第20個(gè)分?jǐn)?shù)是%d/%d' % (fz, fm))

5.給一個(gè)正整數(shù),要求:1、求它是幾位數(shù) 2.逆序打印出各位數(shù)字

num = int(input('請(qǐng)輸入一個(gè)正整數(shù):'))
n = 0
# 循環(huán)判斷這是一個(gè)幾位數(shù)
while num >= 1:
    print(num % 10, end=' ')
    num //= 10
    n += 1
print('這是一個(gè)%d位數(shù)' % n)

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

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

  • 8月22日-----字符串相關(guān) 2-3 個(gè)性化消息: 將用戶的姓名存到一個(gè)變量中,并向該用戶顯示一條消息。顯示的消...
    future_d180閱讀 1,033評(píng)論 0 1
  • 一.day5作業(yè) 讀程序,總結(jié)程序的功能: 1. numbers=1 for i in range(0,20): ...
    魅影_0d2e閱讀 1,133評(píng)論 0 0
  • 在C語(yǔ)言中,五種基本數(shù)據(jù)類型存儲(chǔ)空間長(zhǎng)度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來(lái)閱讀 4,040評(píng)論 0 2
  • 1、字符串2、r/R在字符串的最前面阻止轉(zhuǎn)義3.獲取單個(gè)字符: 字符串[下標(biāo)]下標(biāo):0 ~ 長(zhǎng)度-1 ; -1 ~...
    Smr_T閱讀 642評(píng)論 0 0
  • 1.安裝 $ npm install --save vuex$ yarn add vuex 2. 創(chuàng)建store....
    皇甫圣坤閱讀 1,035評(píng)論 0 0

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