day5_作業(yè)

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

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

功能: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)

功能:求在1~100中能被3或7整除,但不能被21整除(即不能同時被3和7整除)的數(shù)的個數(shù)
編程實現(xiàn)(for和while各寫?一遍):

  1. 求1到100之間所有數(shù)的和、平均值
#for
sum1=0
for num in range(1,101):
    sum1+=num
avg=sum1/100
print("和為:%d 平均值為:%.2f"%(sum1,avg))
#while
sum1=0
num=1
while num<=100:
    sum1+=num
    num+=1
avg=sum1/100
print("和為:%d 平均值為:%.2f"%(sum1,avg))  #5050,50.50
  1. 計算1-100之間能3整除的數(shù)的和
sum1=0
for num in range(1,101):
    if not num%3:
        sum1+=num
print(sum1)
#while
sum1=0
num=1
while num<=100:
    if not num%3:
        sum1+=num
    num+=1
print(sum1)   #1683
  1. 計算1-100之間不能被7整除的數(shù)的和
#for
sum1=0
for num in range(1,101):
    if num%7:
        sum1+=num
print(sum1)
#while
sum1=0
num=1
while num<=100:
    if num%7:
        sum1+=num
    num+=1
print(sum1)  #4315
  1. 求斐波那契數(shù)列列中第n個數(shù)的值:1政基,1贞铣,2,3沮明,5辕坝,8,13荐健,21酱畅,34....
n=int(input("請輸入你想要第幾個斐波納數(shù)列的數(shù):"))
num=2 #num循環(huán)的次數(shù),前2次為1江场,不用循環(huán)
now_num=1 #當前數(shù)
before_num=1 #前一個數(shù)
number=0 #用于交換數(shù)
while num<n:
    number=now_num
    now_num+=before_num
    before_num=number
    num+=1
print(now_num)
  1. 判斷101-200之間有多少個素數(shù)纺酸,并輸出所有素數(shù)。判斷素數(shù)的?方法:?用?一個數(shù)分別除2到sqrt(這個 數(shù))址否,如果能被整除餐蔬,則表明此數(shù)不不是素數(shù),反之是素數(shù)
number=0
for num in range(101,201):
    for num1 in range(2,num):
        if not num%num1:
            break
    else:
        print(num,end=" ")
        number+=1
print()
print(number)

21個

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

153 370 371 407 4

  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
from fractions import Fraction
fz = 2  # 分子
fm = 1 # 分母
number=0
for num in range(1,20):
    number=fz
    fz+=fm
    fm=number
print(Fraction(fz, fm))

17711/10946

  1. 給一個正整數(shù),要求:1音同、求它是?幾位數(shù) 2.逆序打印出各位數(shù)字
import random
num=random.randint(1,100000)
print(num,end=" ")
print(len(str(num)),end=" ")
print(str(num)[::-1])

50490 5 09405
1.控制臺輸入年齡啄骇,根據(jù)年齡輸出不同的提示(例如:老年人,青壯年瘟斜,成年人缸夹,未成年,兒童)

while 1:
    age=int(input("請輸入年齡:"))
    if age<10:
        print("兒童")
    elif age<18:
        print("未成年")
    elif age<30:
        print("成年人")
    elif age<60:
        print("青壯年")
    else:
        print("老年人")

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

factorial=1   #階乘的積
for num in range(1,6):
    factorial*=num 
print(factorial)

120

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

sum1=0
for num1 in range(1,21):
    factorial=1  #階乘的積
    for num in range(1,num1+1):
        factorial*=num   #求階乘
    sum1+=factorial  #求和

print(sum1)

算法改進:在計算超過1000后有明顯的優(yōu)化

sum1=0
number=1
for num in range(1,21):
    number*=num    #n!=(n-1)!*n,用number記錄當前階乘的值虽惭。
    sum1+=number
print(sum1)

2561327494111820313

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

from fractions import Fraction
sum=0
for num in range(1,21):
    factorial=1
    for num1 in range(1,num+1):
        factorial*=num1
    sum+=1/factorial
print(Fraction(sum1))

算法改進:

from fractions import Fraction
factorial=1
sum1=0
for num in range(1,21):
    factorial*=1/num
    sum1+=factorial
print(Fraction(sum1))

1.7182818284590455

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

num=int(input("請輸入一個數(shù)字:"))
sum1=0
while num!=0:
    sum1+=num
    num=int(input("請輸入一個數(shù)字:"))
print(sum1)

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

a=int(input("請輸入a:"))
count1=int(input("請輸入相加的個數(shù):"))
sum1=0
for num1 in range(1,count1+1):
    for num2 in range(0,num1):
        sum1+=a*10**num2
print(sum1)

或者

a=int(input("請輸入a:"))
count1=int(input("請輸入相加的個數(shù):"))
sum1=0
for num in range(1,count1+1):
    sum1+=a*num*10**(count1-num)   #222+22+2=246=2*1*10**2+2*2*10**1+2*3*10**0
print(sum1)

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

x=int(input("請輸入三個數(shù)字:"))
y=int(input())
z=int(input())
a=[x,y,z]
a.sort()  #從小到大排序
for num in a:
    print(num)

或者

x=int(input("請輸入三個數(shù)字:"))
y=int(input())
z=int(input())
num=0
while not x<=y<=z:
    if x>y:
        num=x
        x=y
        y=num
    if y>z:
        num=y
        y=z
        z=num
print(x,y,z)

或者

x=int(input("請輸入三個數(shù)字:"))
y=int(input())
z=int(input())
a=[x,y,z]
max1=0
bool1=True
while bool1:
    for num in range(0,len(a)-1):
        if a[num]>a[num+1]:
            max1=a[num]
            a[num]=a[num+1]
            a[num+1]=max1
            break
    else:
            bool1=False
print(a)

8.控制臺輸出三角形

a.根據(jù)n的值的不同咆课,輸出相應(yīng)的形狀
n = 5時             n = 4
*****               ****
****                ***
***                 **
**                  *
*

b.根據(jù)n的值的不同末誓,輸出相應(yīng)的形狀(n為奇數(shù))
n = 5               n = 7
  *                    *
 ***                  ***
*****                *****
                    *******
n=4
for num in range(n,0,-1):
    for num1 in range(1,num+1):
        print("*",end="")
    print()

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

image.png
for num in range(1,10):
    for num1 in range(1,num+1):
        print("%d*%d=%d"%(num1,num,num*num1),end="  ")
    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  
[Finished in 0.2s]

10.這是經(jīng)典的"百馬百擔(dān)"問題晴玖,有一百匹馬,馱一百擔(dān)貨为流,大馬馱3擔(dān)呕屎,中馬馱2擔(dān),兩只小馬馱1擔(dān)艺谆,問有大,中拜英,小馬各幾匹静汤?

for num in range(1,101):
    for num1 in range(1,101-num):
        if num*3+num1*2+(100-num-num1)*0.5==100:
            print("有大馬%d匹,  中馬%d匹,  小馬%d匹"%(num,num1,100-num-num1))
有大馬2匹,  中馬30匹居凶,  小馬68匹
有大馬5匹,  中馬25匹虫给,  小馬70匹
有大馬8匹,  中馬20匹,  小馬72匹
有大馬11匹, 中馬15匹侠碧,  小馬74匹
有大馬14匹, 中馬10匹抹估,  小馬76匹
有大馬17匹, 中馬5匹,   小馬78匹
[Finished in 0.1s]

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

for num in range(1,101):
    for num1 in range(1,101-num):
        if num*5+num1*3+(100-num-num1)*(1/3)==100:
            print("有公雞%d只,  母雞%d只据过,  雛雞%d只"%(num,num1,100-num-num1))
有公雞4只,  母雞18只惋砂,  雛雞78只
有公雞8只,  母雞11只,  雛雞81只
有公雞12只, 母雞4只绳锅,   雛雞84只
[Finished in 0.1s]

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

count1=0
for xfs in range(0,100//15+1):
    for xz in range(0,(100-xfs*15)//2+1):
        for yg in range(0,(100-xfs*15-xz*2)//5+1):
            if xfs*15+xz*2+yg*5==100:
                print("洗發(fā)水有:%d, 香皂有:%d, 牙膏有:%d彻消。"%(xfs,xz,yg))
                count1+=1
print(count1)

或者

for xfs in range(0,100):
    if 15*xfs>100:
        break
    for xz in range(0,100):
        money=15*xfs+xz*2
        if money>100:
            break
        if (100-money)%5==0:
            yg=(100-money)/5
            print("洗發(fā)水有:%d,  香皂有:%d宙拉,  牙膏有:%d宾尚。"%(xfs,xz,yg))

或者(最優(yōu))

count1=0
xfs=0
while xfs*15<=100:
    xz=0
    while xfs*15+xz*2<=100:
        money=100-xfs*15-xz*2
        if money%5==0:
            yg=money/5
            count1+=1
            print("洗發(fā)水有:%d,  香皂有:%d谢澈,  牙膏有:%d煌贴。"%(xfs,xz,yg))
        xz+=1
    xfs+=1
print(count1)
洗發(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。
44
[Finished in 0.2s]
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末寸士,一起剝皮案震驚了整個濱河市檐什,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌碉京,老刑警劉巖厢汹,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件螟深,死亡現(xiàn)場離奇詭異谐宙,居然都是意外死亡,警方通過查閱死者的電腦和手機界弧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進店門插爹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來特姐,“玉大人,你說我怎么就攤上這事×苌觯” “怎么了?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵合搅,是天一觀的道長殊霞。 經(jīng)常有香客問我,道長帅掘,這世上最難降的妖魔是什么委煤? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮修档,結(jié)果婚禮上碧绞,老公的妹妹穿的比我還像新娘。我一直安慰自己吱窝,他們只是感情好讥邻,可當我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布迫靖。 她就那樣靜靜地躺著,像睡著了一般兴使。 火紅的嫁衣襯著肌膚如雪系宜。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天鲫惶,我揣著相機與錄音蜈首,去河邊找鬼。 笑死欠母,一個胖子當著我的面吹牛欢策,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播赏淌,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼踩寇,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了六水?” 一聲冷哼從身側(cè)響起俺孙,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎掷贾,沒想到半個月后睛榄,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡想帅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年场靴,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片港准。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡旨剥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出浅缸,到底是詐尸還是另有隱情轨帜,我是刑警寧澤,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布衩椒,位于F島的核電站蚌父,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏毛萌。R本人自食惡果不足惜苟弛,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望朝聋。 院中可真熱鬧嗡午,春花似錦、人聲如沸冀痕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至僻他,卻和暖如春宵距,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背吨拗。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工满哪, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人劝篷。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓哨鸭,卻偏偏與公主長得像,于是被迫代替她去往敵國和親娇妓。 傳聞我的和親對象是個殘疾皇子像鸡,可洞房花燭夜當晚...
    茶點故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內(nèi)容

  • 基礎(chǔ) 讀程序,總結(jié)程序的功能: 循環(huán)20次,每次都讓number乘以2,number初始值為1 統(tǒng)計1到100中能...
    留級是不可能留級的閱讀 149評論 0 0
  • 8月22日-----字符串相關(guān) 2-3 個性化消息: 將用戶的姓名存到一個變量中哈恰,并向該用戶顯示一條消息只估。顯示的消...
    future_d180閱讀 963評論 0 1
  • 1.控制臺輸入年齡,根據(jù)年齡輸出不同的提示(例如:老年人着绷,青壯年蛔钙,成年人,未成年荠医,兒童) 2.計算5的階乘 5!的...
    liuperson閱讀 218評論 0 0
  • 客年有略微嚴重的遺忘癥吁脱,這對他而言是一件好事。因為他總是有很多的疑惑子漩,一旦得不到解決就會連續(xù)幾天都睡不著覺...
    詩間行客閱讀 237評論 1 2
  • 深夜接到她的電話幢泼,我很意外。她沉默良久讲衫,哽咽地說:“海魚缕棵,他和我分手了,為什么涉兽,為什么……”隨即傳來的是她撕心裂肺...
    百川有魚閱讀 103評論 0 0