Python 每日一問 22

2022-05-01 17:36:08 字數 1803 閱讀 2874

問:

【基礎題】:輸出 9*9 口訣表 

【提高題】:古典問題:有一對兔子,從出生後第 3 個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少? (ps:例如輸入乙個數字15,計算出第15個月兔子的總數)

答:【基礎題】:輸出 9*9 口訣表 

方法1:

for i in range(1, 10):

for j in range(1, i+1):

print('

%d *

' % j, '

%d' % i, '

= %-3d

' % (i*j), end='

') #

第三個物件是左對齊,寬度為3,end=''的作用是不換行

print('')

方法2:

i = 1

while i <= 9:

j = 1

while j <=i:

print("

%d * %d = %d\t

" % (j, i, j*i),end=""

) j += 1

print(""

) i += 1

方法3:

for i in range(1, 10):

for j in range(1, i+1):

print('

{} * {} = {}\t

'.format(j, i, j*i), end='

') #

此處使用 format 進行格式化輸出

print('')

輸出結果:

【提高題】:古典問題:有一對兔子,從出生後第 3 個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少? (ps:例如輸入乙個數字15,計算出第15個月兔子的總數)

'''

實際月份:1 2 3 4 5 6 7 8

生仔對數:0 0 1 1 2 3 5 8

成兔對數:0 0 1 2 3 5 8 13

總體對數:1 1 2 3 5 8 13 21

規律 ==》 斐波那契數列:前面相鄰兩項之和,構成了後一項

'''def

get_rabbit_number_by_month(total_month):

if total_month == 1 or total_month == 2:

return 1

else

:

return get_rabbit_number_by_month(total_month-1) + get_rabbit_number_by_month(total_month-2)

if__name__ == "

__main__":

total_month = int(input("

您想要知道第幾個月的兔子總數:"))

print("

第{}個月兔子總數:{}對

".format(total_month,get_rabbit_number_by_month(total_month)))

輸出結果:

Python 每日一問 37

問 基礎題 設計乙個複利計算函式invest 它包含三個引數 amount 資金 rate 年利率 time 投資時間 鍵盤輸入每個引數後,輸出結果 返回每一年的資金總額 比如,amount 10000 rate 8 time 5提高題 請實現乙個函式,將乙個字串中的每個空格替換成 20 答 基礎題...

Python 每日一問 32

問 基礎題 手機品牌存放在乙個列表中 brandlist 華為 蘋果 一加 oppo 小公尺 請實現以下功能 隨機選擇乙個手機品牌螢幕輸出 提高題 編寫乙個函式,輸入 n 為偶數時,呼叫函式求 1 2 1 4 1 n 當輸入 n 為奇數時,呼叫函式 1 1 1 3 1 n 答 基礎題 手機品牌存放在...

Python 每日一問 20

問 基礎題 企業發放的獎金根據利潤提成。利潤 i 低於或等於10萬元時,獎金可提10 高於10萬元,低於20萬元時,低於10萬元的部分按10 提成,高於10萬元的部分,可提成7.5 20萬到40萬之間時,高於20萬元的部分,可提成5 40萬到60萬之間時高於40萬元的部分,可提成3 60萬到100萬...