python - 我找不到任何问题,但它不工作
问题描述
import random
x = random.randint(1,100)
y = int(input('write your number: '))
while y > x:
print('my number is smaller')
y = int(input('write your number: '))
while y < x:
print('my number is bigger')
y = int(input('write your number: '))
while y == x:
print('your right')
break
我在这段代码中的问题是,当我输入 4 或 5 数字时,程序将关闭而没有任何响应
解决方案
我认为@TimRoberts 和@Barmar 给出了正确的解释。我没有什么要补充的,只是一个建议:在编码之前,你必须考虑你的算法。最后,这不是 Python 编码的问题。
import random
x = random.randint(1,100)
while True:
y = int(input('write your number: '))
if y > x:
print('my number is smaller')
elif y < x:
print('my number is bigger')
else:
print('your right')
break
为了更加 Pythonic,您必须测试用户是否输入了数字。像这样使用 try/except 块:
import random
x = random.randint(1,100)
while True:
try:
y = int(input('write your number: '))
except ValueError:
print('your input should be a number')
continue
if y > x:
print('my number is smaller')
elif y < x:
print('my number is bigger')
else:
print('your right')
break
推荐阅读
- wordpress - 'login_redirect' v 'woocommerce_login_redirect'
- spring-boot - 在 Spring Boot WS Web 服务的响应头中删除 Accept
- angular - 当在 docker 文件中运行“npm run test”得到没有捕获的浏览器时,打开
- regex - 使用 grep 提取单引号之间的路径
- xml - Power BI: How do I check if a record is a date value and split a column based on that value?
- flutter - 如何在 Flutter 中压缩 PDF?
- r - 如何使用 R 拆分数据集,以使列中值的总和在子集中大致相同?
- python - 如何对多嵌套字典中的值进行排序并在python中选择前n个值?
- java - Java Optional.ofNullable 与 Mockito 和 ObjectMapper
- r - 检查一个数据帧的值是否存在于R中的另一个数据帧中