當前位置:
首頁 >
没有bug队——加贝——Python 练习实例 11,12
發布時間:2025/3/15
24
豆豆
生活随笔
收集整理的這篇文章主要介紹了
没有bug队——加贝——Python 练习实例 11,12
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
11.題目:
古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?
程序分析:兔子的規律為數列1,1,2,3,5,8,13,21....
注:為什么{} {}那里有很多空格?是為了輸出時好看,但需要手動調整,看輸出結果吧!
#11 f1 = 1 f2 = 1 for i in range(1,22):print (' {} {} '.format(f1,f2), end=" ")if (i % 3) == 0:print ('')f1 = f1 + f2f2 = f1 + f2輸出:
?看上面的輸出結果是不是感覺越往下越擁擠呢,那么有什么好辦法解決呢?
此時應引出我們的一個新知識點
?但在這里我用到的時
%ld是指長整數
%12ld指輸出12位的長整數
"%12ld %12ld" 輸出兩個12位的長整數
?此時代碼應變為:
f1 = 1 f2 = 1 for i in range(1,22):print ('%12ld %12ld' % (f1,f2), end=" ")if (i % 3) == 0:print ('')f1 = f1 + f2f2 = f1 + f2輸出:
?此時是不是感覺好看多了,嘿嘿!!
12.題目:
判斷101-200之間有多少個素數,并輸出所有素數。
程序分析:判斷素數的方法:用一個數分別去除2到sqrt(這個數),如果能被整除,則表明此數不是素數,反之是素數。
h = 0 leap = 1 from math import sqrt from sys import stdout for m in range(101,201):k = int(sqrt(m + 1))for i in range(2,k + 1):if m % i == 0:leap = 0breakif leap == 1:print ('%-4d' % m)h += 1leap = 1輸出:
看輸出結果,我們如果想知道有多少個還得自己去數,如果我們加上一行代碼就知道了!
?在文末加上:print ('總個數為',h)
當然,我們還可以10個數分一組,這只需兩行代碼完成
if h % 10 == 0:
?????????print ('')
意思是每到整十時,就輸出一個空
代碼如下:
#12 h = 0 leap = 1 from math import sqrt from sys import stdout for m in range(101,201):k = int(sqrt(m + 1))for i in range(2,k + 1):if m % i == 0:leap = 0breakif leap == 1:print ('%-4d' % m)h += 1if h % 10 == 0:print ('')leap = 1 print ('總個數為',h)輸出:
總結
以上是生活随笔為你收集整理的没有bug队——加贝——Python 练习实例 11,12的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jpane1_IDEA插件开发,Jpan
- 下一篇: 基础线性规划实现---python