牆裂建議收藏,Python練手實例題目!
一、斐波那契數列
斐波那契數列(Fibonacci sequence),又稱黃金分割數列,指的是這樣一個數列:0、1、1、2、3、5、8、13、21、34、……。
在數學上,費波那契數列是以遞歸的方法來定義:
#!/usr/bin/python3
def fib(n):
if n == 1:
return [1]
if n == 2:
return [1, 1]
fibs = [1, 1]
for i in range(2, n):
fibs.append(fibs[-1] + fibs[-2])
return fibs
# 輸出前 10 個斐波那契數列
print (fib(10))
以上實例輸出結果為:
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
二、水仙花數
列印出所有的”水仙花數”,所謂”水仙花數”是指一個三位數,其各位數字立方和等於該數本身。例如:153是一個”水仙花數”,因為153=1的三次方+5的三次方+3的三次方。
利用for循環控制100-999個數,每個數分解出個位,十位,百位。
#!/usr/bin/python3
for n in range(100,1000):
i = n // 100
j = n // 10 % 10
k = n % 10
if n == i*i*i + j*j*j + k*k*k:
print(n)
以上實例輸出結果為:
153
370
371
407
三、九九乘法表
輸出 9*9 乘法口訣表。
分行與列考慮,共9行9列,i控制行,j控制列。
#!/usr/bin/python3
for i in range(1, 10):
print()
for j in range(1, i+1):
print ("%d*%d=%d" % (i, j, i*j), end=" " )
以上實例輸出結果為:
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
四、猴子吃桃
猴子吃桃問題:猴子第一天摘下若干個桃子,當即吃了一半,還不癮,又多吃了一個第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以後每天早上都吃了前一天剩下的一半零一個。到第10天早上想再吃時,就只剩下一個桃子了。求第一天共摘了多少。
採取逆向思維的方法,從後往前推斷。
#!/usr/bin/python3
x2 = 1
for day in range(9,0,-1):
x1 = (x2 + 1) * 2
x2 = x1
print (x1)
以上實例輸出結果為:
1534
五、迴文數
一個5位數,判斷它是不是迴文數。即12321是迴文數,個位與萬位相同,十位與千位相同。
#!/usr/bin/python3
a = int(input("請輸入一個數字:\n"))
x = str(a)
flag = True
for i in range(len(x)//2):
if x[i] != x[-i - 1]:
flag = False
break
if flag:
print ("%d 是一個迴文數!" % a)
else:
print ("%d 不是一個迴文數!" % a)
以上實例輸出結果為:
請輸入一個數字:
12321
12321 是一個迴文數!
六、生兔子
古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?
兔子的規律為數列1,1,2,3,5,8,13,21…
#!/usr/bin/python3
f1 = 1
f2 = 1
for i in range(1,22):
print ('%12ld %12ld' % (f1,f2), end=" ")
if (i % 3) == 0:
print ('')
f1 = f1 + f2
f2 = f1 + f2
以上實例輸出結果為:
1 1 2 3 5 8
13 21 34 55 89 144
233 377 610 987 1597 2584
4181 6765 10946 17711 28657 46368
75025 121393 196418 317811 514229 832040
1346269 2178309 3524578 5702887 9227465 14930352
24157817 39088169 63245986 102334155 165580141 267914296
相信有很多人都在努力地自學著Python,但自學過程中總是看懂了卻不會做。這就像學生時期老師講過了,覺得聽懂了,但一看題就懵了。所以還是要多練練經典實例哦~~~
祝大家Python學習順利!沒有 B U G~
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/273491.html