您所谓的while True:,实则就是一个死循环。用死循环写代码,必须设定跳出循环的条件,要不就真“死”了。🤪如——
#!/sur/bin/nve python
# coding: utf-8
k = 0
while True: # 也可以是 while 1: ,效果一样。
print(f"{' 我是死循环 ':~^36}")
if k >100:
break # 满足条件跳出循环。
k += 1 # k 自增1。
print(f"\n{'':~^41}\n{' 完成了循环100次。 ':^34}\n{'':~^41}\n")
如果不写if k > 100: 后面的 break 语句,程序就会一直打印“我是死循环”。所以用 while True:,关键是要设计设定结束循环的条件。
代码运行效果截屏图片
不知道具体要求,先写个框架了:
def game():
# 玩游戏
pass
def show_info():
# 显示总局数、赢的局数和赢得最多的拳
pass
while True:
game()
ch = input()
if ch.lower() == 'y':
continue
if ch.lower() == 'q':
show_info()
print('欢迎下次继续玩')
break
该回答引用chatgpt:
def play_game():
total_rounds = 0
player_wins = 0
rock_wins = 0
paper_wins = 0
scissors_wins = 0
while True:
# 游戏逻辑
# ...
# 询问玩家是否继续
choice = input("是否继续游戏?(输入 'y' 继续,输入 'q' 退出): ")
if choice.lower() == 'y':
continue
elif choice.lower() == 'q':
print("总局数: ", total_rounds)
print("玩家赢的局数: ", player_wins)
print("玩家选择 '拳' 赢得最多的局数: ", max(rock_wins, paper_wins, scissors_wins))
print("欢迎下次继续玩!")
break
else:
print("无效的输入!请重新选择。")
play_game()