構(gòu)造程序邏輯
1.練習(xí)清單
- 尋找“水仙花數(shù)”。
- 尋找“完美數(shù)”碧注。
- “百錢百雞”問題。
- 生成“斐波拉切數(shù)列”糖赔。
- Craps賭博游戲萍丐。
2.直接上代碼
import math
from random import randint
import time
# 水仙花數(shù)(Narcissistic number)也被稱為超完全數(shù)字不變數(shù)(pluperfect digital invariant, PPDI)、自戀數(shù)放典、自冪數(shù)逝变、阿姆
#斯壯數(shù)或阿姆斯特朗數(shù)(Armstrong number),水仙花數(shù)是指一個(gè) 3 位數(shù)奋构,它的每個(gè)位上的數(shù)字的 3次冪之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)壳影。
#do no.1
print('###')
print('水仙花數(shù)')
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)
# 完全數(shù)(Perfect number),又稱完美數(shù)或完備數(shù)弥臼,是一些特殊的自然數(shù)宴咧。它所有的真因子(即除了自身以外的約數(shù))的和(即因子函數(shù)),恰好等于它本身径缅。
# 如果一個(gè)數(shù)恰好等于它的因子之和掺栅,則稱該數(shù)為“完全數(shù)”。第一個(gè)完全數(shù)是6纳猪,第二個(gè)完全數(shù)是28氧卧,第三個(gè)完全數(shù)是496,后面的完全數(shù)還有8128氏堤、33550336等等
print('###')
print('完美數(shù)')
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))
#斐波那契數(shù)列(Fibonacci sequence)谬以,又稱黃金分割數(shù)列、因數(shù)學(xué)家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入由桌,
# 故又稱為“兔子數(shù)列”为黎,指的是這樣一個(gè)數(shù)列:1、1行您、2铭乾、3、5娃循、8炕檩、13、21、34笛质、……在數(shù)學(xué)上泉沾,斐波納契數(shù)列以如下被以遞推的方法定義:
# F(1)=1,F(xiàn)(2)=1, F(n)=F(n-1)+F(n-2)(n>=3妇押,n∈N*)在現(xiàn)代物理跷究、準(zhǔn)晶體結(jié)構(gòu)、化學(xué)等領(lǐng)域敲霍,斐波納契數(shù)列都有直接的應(yīng)用俊马,為此,
# 美國數(shù)學(xué)會(huì)從1963年起出版了以《斐波納契數(shù)列季刊》為名的一份數(shù)學(xué)雜志肩杈,用于專門刊載這方面的研究成果柴我。
a = 0
b = 1
print('###')
print('斐波那契數(shù)列')
print('###')
for _ in range(10):
a,b = b,a + b
print(a,end=' ')
#s上面的這個(gè)有點(diǎn)騷
# Craps賭博游戲:
# 玩家搖兩顆色子 如果第一次搖出7點(diǎn)或11點(diǎn) 玩家勝
# 如果搖出2點(diǎn) 3點(diǎn) 12點(diǎn) 莊家勝 其他情況游戲繼續(xù)
# 玩家再次要色子 如果搖出7點(diǎn) 莊家勝
# 如果搖出第一次搖的點(diǎn)數(shù) 玩家勝
# 否則游戲繼續(xù) 玩家繼續(xù)搖色子
# 玩家進(jìn)入游戲時(shí)有1000元的賭注 全部輸光游戲結(jié)束
print('###')
print('賭博游戲')
print('###')
money = 1000
need_go_on = False
while money > 0:
print('你的資產(chǎn)為:',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 點(diǎn)' % 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('莊家勝利M突弧!')
money = money - debt
need_go_on = False
else:
print('重新?lián)uS胙АM凇!')
print('....')
time.sleep(1)
need_go_on = True
print('你輸了索守,結(jié)束了T我ぁ!卵佛!')
**結(jié)果: **
D:\python\venv\Scripts\python.exe D:/python/day005.py
###
水仙花數(shù)
###
Narcissistic number is 153
Narcissistic number is 370
Narcissistic number is 371
Narcissistic number is 407
###
完美數(shù)
###
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只
###
斐波那契數(shù)列
###
1 1 2 3 5 8 13 21 34 55 ###
賭博游戲
###
你的資產(chǎn)為: 1000
下注咯:1000
你的資產(chǎn)為: 1000
骰子搖出 8 點(diǎn)
重新?lián)ur韭汀I嗉痢!
....
你的資產(chǎn)為: 1000
骰子搖出 2 點(diǎn)
莊家勝利J钜霍转!
你輸了,結(jié)束了R黄1芟!
Process finished with exit code 0
沒有賭 博的天分。沾谓。委造。戳鹅。
文集傳送門 學(xué)習(xí)python100天
整個(gè)學(xué)習(xí)python100天的目錄傳送門
無敵分割線
再最后面附上大神的鏈接
傳送門