Python學習第5天---通關挑戰

01 尋找「水仙花數」

水仙花數是指一個 3 位數,它的每一個位上的數字的 3次冪之和等於它自己(例如:1^3 + 5^3+ 3^3 = 153)。dom

問題:請找出100-1000之間的水仙花數。

for i in range(100,1000):
	first = int(i / 100)
	second = int((i % 100) / 10)
	third = int((i % 100) % 10 )
	sum = first **3 + second **3 + third **3
if sum == i:
	print(str(sum)+" "+"是水仙花數")

02 尋找「完美數」

完美數——若是一個數剛好等於它的因子之和,各個小於它的約數(真約數,列出某數的約數,去掉該數自己,剩下的就是它的真約數)的和等於它自己的天然數叫作徹底數。例如:第一個徹底數是6,它有約數一、二、三、6,除去它自己6外,其他3個數相加,1+2+3=6。code

問題:請找出0-1000之間的完美數。

for i in range(0,1000):
	sum = 0
	for j in range(1,i):
		if i != j and i % j == 0:
  			sum += j
			if(sum == i):
				print(sum)

03 「百錢百雞」

雞翁一值錢五,雞母一值錢三,雞雛三值錢一。百錢買百雞,問雞翁、雞母、雞雛各幾何?orm

問題:公雞5文錢一隻,母雞3文錢一隻,小雞3只一文錢,用100文錢買一百隻雞,其中公雞,母雞,小雞都必需要有,問公雞,母雞,小雞要買多少隻恰好湊足100文錢。

'''
	因爲題目要求,公雞,母雞,小雞都要買。因此公雞數量小於20只。
	母雞數量小於33只。
'''

for i in range(1,20):
	 for j in range(1,33):
		k = 100 - i - j 
		if 5*i + 3*j + k/3 == 100:
  			print("公雞{}只,母雞{}只,小雞{}只".format(i,j,k))

04 「斐波那契數列」

斐波那契數列(Fibonacci sequence),又稱黃金分割數列、因數學家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖爲例子而引入,故又稱爲「兔子數列」,指的是這樣一個數列:一、一、二、三、五、八、1三、2一、3四、……在數學上,斐波納契數列以以下被以遞推的方法定義:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)blog

問題:輸出斐波那契數列的前10項。

# 斐波那契
i = 0 
j = 1
for _ in range(10):
	(i,j)=(j,i+j)
	print(i,end=" ")

05 「Craps遊戲」

from random import randint
money = 1000
while money > 0:
	print("您如今有{}元".format(money))
	play = False
	while True:
		debt = int(input('請下注:'))
		print(debt)
		if debt > 0 and debt <= money:
 			 break
	first = randint(1,6) * 2
	print("您擲出了{}點".format(first))
	if first == 7 or first == 11:
		print("玩家勝!")
		money += debt
	elif first == 2 or first == 3 or first == 12:
		print("莊家勝!")
		money -= debt
	else:
		play = True

	while play:
		second = randint(1,6) * 2
		print("您擲出了{}點".format(second))
	if second == 7:
  		print("莊家勝!")
  		money -= debt
  		play = False
	elif second == first:
  		print("玩家勝!")
  		money += debt
  		play = False

print("您的資金不足0元!")
相關文章
相關標籤/搜索