記錄#
今天繼續學習 while 函數,複習昨天的 break,新學 continue 和 exit。
- break 是在 while 中退出循環
- continue 是在 while 循環中重新從第一行開始執行。
- exit () 也是退出循環。exit () 是一個函數,注意它帶括號。
- chatgpt 告訴我 break 和 exit () 不同在於:
break
用於中斷當前所在的循環,然後繼續執行循環之後的代碼。exit()
用於立即終止程序的執行,不再執行之後的任何代碼。
- 新學了一招,在 replit 中,左側的 table of contents 的代碼位置,點擊右上角的 + 號,代碼會自動粘貼到右側的編輯欄
- 最後的代碼編寫階段對第 14 的剪刀石頭布的遊戲進行了改造,加入了記分功能,加入了輸入錯誤重新輸入的功能。除了代碼長點,我很滿意。
CODE#
from getpass import getpass as input
print("石頭剪刀布遊戲!三局兩勝!")
print()
print("你的選擇:🪨 = R,✂️ = S,📄 = P")
p1 = ""
p2 = ""
n = 1
score1 = 0
score2 = 0
while True:
print()
print("第", n, "局")
while True:
p1 = input("玩家1:你的選擇是? ")
if p1 == "R" or p1 == "S" or p1 == "P":
break
while True:
p2 = input("玩家2:你的選擇是? ")
if p2 == "R" or p2 == "S" or p2 == "P":
break
if p1 == p2:
print("你們是平局!")
elif p1 == "R" and p2 == "S":
print("玩家1勝利!")
score1 += 1
elif p1 == "R" and p2 == "P":
print("玩家2勝利!")
score2 += 1
elif p1 == "S" and p2 == "P":
print("玩家1勝利!")
score1 += 1
elif p1 == "S" and p2 == "R":
print("玩家2勝利!")
score2 += 1
elif p1 == "P" and p2 == "R":
print("玩家1勝利!")
score1 += 1
elif p1 == "P" and p2 == "S":
print("玩家2勝利!")
score2 += 1
if score1 == 2:
print("玩家1贏得最終勝利")
break
elif score2 == 2:
print("玩家2贏得最終勝利")
break
else:
n += 1
continue