记录#
今天继续学习 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