目錄
經典小案例
例子1:尋找水仙花數。
正整數的反轉
例子2:百錢百雞問題。
例子3:craps賭博遊戲。
例子4:斐波那契數列。
例子5:列印素數。
說明:水仙花數也被稱為超完全數字不變數、自戀數、自冪數、阿姆斯特朗數,它是乙個3位數,該數字每個位上數字的立方之和正好等於它本身,例如:13 + 53 + 33 = 153。
for num in range(100,1000):
last = num %10
mid = num//10%10
high = num//100
if num == last**3+mid**3+high**3:
print(num)
153370371
407
>>> num = int(input("num="))
num=1234567
>>> reversed_num=0
>>> while num>0:
reversed_num=reversed_num*10+num%10
num//=10
>>> print(reversed_num)
7654321
>>>
說明:百錢百雞是我國古代數學家張丘建在《算經》一書中提出的數學問題:雞翁一值錢五,雞母一值錢三,雞雛三值錢一。百錢買百雞,問雞翁、雞母、雞雛各幾何?翻譯成現代文是:公雞5元乙隻,母雞3元乙隻,小雞1元三隻,用100塊錢買一百隻雞,問公雞、母雞、小雞各有多少只?
>>> for x in range(0,20):
for y in range(0,34):
z = 100-x-y
if 100==x*5+y*3+z//3 and z%3==0:
print(f'公雞: 只, 母雞: 只, 小雞: 只')
公雞: 0只, 母雞: 25只, 小雞: 75只
公雞: 4只, 母雞: 18只, 小雞: 78只
公雞: 8只, 母雞: 11只, 小雞: 81只
公雞: 12只, 母雞: 4只, 小雞: 84只
>>>
說明:craps又稱花旗骰,是美國拉斯維加斯非常受歡迎的一種的桌上賭博遊戲。該遊戲使用兩粒骰子,玩家通過搖兩粒骰子獲得點數進行遊戲。簡化後的規則是:玩家第一次搖骰子如果搖出了7點或11點,玩家勝;玩家第一次如果搖出2點、3點或12點,莊家勝;玩家如果搖出其他點數則玩家繼續搖骰子,如果玩家搖出了7點,莊家勝;如果玩家搖出了第一次搖的點數,玩家勝;其他點數玩家繼續搖骰子,直到分出勝負。
from random import randint
money = 1000
while money > 0:
print(f'你的總資產為: 元')
go_on = false
# 下注金額必須大於0小於等於玩家總資產
while true:
debt = int(input('請下注: '))
if 0 < debt <= money:
break
# 第一次搖色子
# 用1到6均勻分布的隨機數模擬搖色子得到的點數
first = randint(1, 6) + randint(1, 6)
print(f'\n玩家搖出了點')
if first == 7 or first == 11:
print('玩家勝!\n')
money += debt
elif first == 2 or first == 3 or first == 12:
print('莊家勝!\n')
money -= debt
else:
go_on = true
# 第一次搖色子沒有分出勝負遊戲繼續
while go_on:
go_on = false
current = randint(1, 6) + randint(1, 6)
print(f'玩家搖出了點')
if current == 7:
print('莊家勝!\n')
money -= debt
elif current == first:
print('玩家勝!\n')
money += debt
else:
go_on = true
print('你破產了, 遊戲結束!')
d:\裝機軟體\python\python.exe "d:/python code2020/test01/test01.py"
你的總資產為: 1000元
請下注: 500
玩家搖出了8點
玩家搖出了7點
莊家勝!
你的總資產為: 500元
請下注: 300
玩家搖出了10點
玩家搖出了12點
玩家搖出了8點
玩家搖出了4點
玩家搖出了4點
玩家搖出了10點
玩家勝!
你的總資產為: 800元
請下注: 200
玩家搖出了4點
玩家搖出了5點
玩家搖出了10點
玩家搖出了6點
玩家搖出了8點
玩家搖出了7點
莊家勝!
你的總資產為: 600元
請下注: 300
玩家搖出了8點
玩家搖出了11點
玩家搖出了4點
玩家搖出了12點
玩家搖出了5點
玩家搖出了5點
玩家搖出了7點
莊家勝!
你的總資產為: 300元
請下注: 400
請下注: 300
玩家搖出了8點
玩家搖出了9點
玩家搖出了5點
玩家搖出了9點
玩家搖出了6點
玩家搖出了6點
玩家搖出了11點
玩家搖出了9點
玩家搖出了9點
玩家搖出了6點
玩家搖出了7點
莊家勝!
你破產了, 遊戲結束!
process finished with exit code 0
#輸出斐波納契前20個數
a,b=1,1
print(a,b,end=' ')
for _ in range(18):
a,b=b,a+b
print(b,end=' ')
說明:素數指的是只能被1和自身整除的正整數(不包括1)
for num in range(2,100):
is_prime=true
for factor in range(2,num):
if num%factor == 0:
is_prime=false
break
if is_prime:
print(num)
d:\裝機軟體\python\python.exe "d:/python code2020/test01/s素數.py"23
571113
1719
2329
3137
4143
4753
5961
6771
7379
8389
97process finished with exit code 0
python筆記 007 輸入和while迴圈
使用者輸入 使用input 獲取字串輸入 name input what s you name 暫停等待輸入 print hello,name 使用int 將字串轉化為數值 age input how old are you 暫停等待輸入 age int age print 18 age 求模運算子...
學習python 第007天 列表(二)
列表 二 author 濁浪3 time 2021 3 10 16 134 向列表末尾增加元素 5 lst 10,20,30 6print 新增元素前 id lst 8print 新增元素前 id lst 910 在列表末尾至少新增乙個元素 11 lst2 hello wo 12 13 lst.ex...
Python學習筆記 for和while迴圈語句
根據廖雪峰官方 python教程整理 一 for 迴圈要計算1 2 3 我們可以直接寫表示式 1 2 3 6 要計算1 2 3 10 勉強也能寫出來。但是,要計算1 2 3 10000 直接寫表示式就不可能了。為了讓計算機能計算成千上萬次的重複運算,我們就需要迴圈語句。python的迴圈有兩種,一種...