构造程序逻辑
1.练习清单
2.直接上代码
import math
from random import randint
import time
# 水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆
#斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。
#do no.1
print('###')
print('水仙花数')
print('###')
for Answer_num in range(100,1000):
num = Answer_num%10
num_ten = Answer_num//10%10
num_hun = Answer_num//100
if num ** 3 + num_ten ** 3 + num_hun ** 3 == Answer_num:
print('Narcissistic number is %d' % Answer_num)
# 完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。
# 如果一个数恰好等于它的因子之和,则称该数为“完全数”。第一个完全数是6,第二个完全数是28,第三个完全数是496,后面的完全数还有8128、33550336等等
print('###')
print('完美数')
print('###')
for Perfect_num in range(1,10000):
sum = 0
for Result in range(1,int(math.sqrt(Perfect_num) + 1)):
if Perfect_num % Result == 0:
sum = sum + Result
if Result > 1 and Perfect_num/Result != Result:
sum = sum + Perfect_num/Result
if sum == Perfect_num:
print('Perfect num is %d ' % Perfect_num)
# 鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,
print('###')
print('百鸡百钱')
print('###')
for Gj in range(0,20):
for Mj in range(0,33):
Xj = 100 - Gj - Mj
if 5*Gj+3*Mj+Xj/3 == 100:
print('公鸡{0}只,母鸡{1}只,小鸡{2}只'.format(Gj,Mj,Xj))
#斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,
# 故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递推的方法定义:
# F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,
# 美国数学会从1963年起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。
a = 0
b = 1
print('###')
print('斐波那契数列')
print('###')
for _ in range(10):
a,b = b,a + b
print(a,end=' ')
#s上面的这个有点骚
# Craps赌博游戏:
# 玩家摇两颗色子 如果第一次摇出7点或11点 玩家胜
# 如果摇出2点 3点 12点 庄家胜 其他情况游戏继续
# 玩家再次要色子 如果摇出7点 庄家胜
# 如果摇出第一次摇的点数 玩家胜
# 否则游戏继续 玩家继续摇色子
# 玩家进入游戏时有1000元的赌注 全部输光游戏结束
print('###')
print('赌博游戏')
print('###')
money = 1000
need_go_on = False
while money > 0:
print('你的资产为:',money)
if need_go_on == False:
while True:
debt = int(input('下注咯:'))
if debt > 0 and debt <= money:
need_go_on = True
break
else:
debt_num = randint(1,6)+randint(1,6)
print('骰子摇出 %d 点' % debt_num)
if debt_num == 7 or debt_num ==11:
print('玩家胜利!!')
money = money + debt
need_go_on = False
elif debt_num == 2 or debt_num == 3 or debt_num == 12:
print('庄家胜利!!')
money = money - debt
need_go_on = False
else:
print('重新摇!!!')
print('....')
time.sleep(1)
need_go_on = True
print('你输了,结束了!!!')
**结果: **
D:\python\venv\Scripts\python.exe D:/python/day005.py
###
水仙花数
###
Narcissistic number is 153
Narcissistic number is 370
Narcissistic number is 371
Narcissistic number is 407
###
完美数
###
Perfect num is 1
Perfect num is 6
Perfect num is 28
Perfect num is 496
Perfect num is 8128
###
百鸡百钱
###
公鸡0只,母鸡25只,小鸡75只
公鸡4只,母鸡18只,小鸡78只
公鸡8只,母鸡11只,小鸡81只
公鸡12只,母鸡4只,小鸡84只
###
斐波那契数列
###
1 1 2 3 5 8 13 21 34 55 ###
赌博游戏
###
你的资产为: 1000
下注咯:1000
你的资产为: 1000
骰子摇出 8 点
重新摇!!!
....
你的资产为: 1000
骰子摇出 2 点
庄家胜利!!
你输了,结束了!!!
Process finished with exit code 0
没有赌 博的天分。。。。
文集传送门 学习python100天
整个学习python100天的目录传送门
无敌分割线
再最后面附上大神的链接
传送门