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元!")
相关文章
相关标签/搜索