python-3.x - 虽然循环没有像 Python 中预期的那样在基本情况下终止
问题描述
在这个程序中,代码应该在 i==0 时停止,并打印“gameover”,但它并没有停止,在 i==0 之后它正在使用 i==-1,-2.. 等等。如何让它停在 I ==0。
#no termination
import random
a=random.randint(0,10)
print(a)
i=5
game_over=False
num=int(input("guess the number between 0-10:\n"))
while not game_over:
if a==num:
print(f"congratulations {num} is correct:")
game_over=True
else:
if num<a:
print("forward")
i-=1
print(f"{i} choices left:\n")
if i==0:
print("gameover")
else:
num=int(input("guess again:"))
else:
print("backwards")
i-=1
print(f"{i}choices left:\n")
if i==0:
print("gameover")
else:
num=int(input("guess again:"))
解决方案
break
在每个之后立即添加一个print("gameover")
以使其立即跳出循环。
推荐阅读
- vue.js - 如何在每周模式下在 Vuetify v-calendar 中显示一周中没有特定日期的日期?
- amazon-web-services - 云形成安全组未创建入口规则
- sql - 多次选择同一列作为联合列,只有 1 个选择语句
- python - 通过调用包含 plot 命令的函数在同一个图上绘制多个随机生成的线图
- doctrine-orm - bin/console 原则:数据库:创建不起作用
- scipy - 高斯拟合在数据集上返回直线?
- amazon-web-services - RDP 进入 EC2 无法使用 GPU
- javascript - 我可以通过服务器端应用程序进行身份验证吗?
- excel - 复制一行,然后在其上方插入一个新行
- mysql - Mysql - 单个查询的多选