python-3.x - 要求用户输入直到正确
问题描述
反复要求用户正确输入的最佳方式是什么?
例如,我想继续检查该a
值是否为 anint
以及何时最终确定您选择了号码。
我被困在这里:
try:
a = int(input())
except:
print("incorrect pick a number and try again")
#Somewhere here
print("Ok thanks you finally picked a number")
解决方案
您要捕获的唯一例外是ValueError
如果int
它不能将其参数转换为整数的 raise 。该语句将处于一个循环中,如果您没有收到异常try
,您将明确退出该循环。
while True:
response = input()
try:
a = int(response)
except ValueError:
print("incorrect pick a number and try again")
else:
print("Ok thanks you finally picked a number")
break
推荐阅读
- java - 未找到依赖项“org.apache.kafka:kafka-clients:2.1.1”
- database - 如何通过 ref() 比较来自 firebase 的布尔索引
- twilio - Twilio 是否会阻止 Google 验证 SMS 文本?
- sql - 日期 yyyy-mm 格式为整数
- visual-studio-code - 如何安装我自己的扩展程序?VS代码
- sql - Sql查询以获取列中的最大字数
- windows - 如何在windows上为GRPC设置环境变量
- c++ - istream 打开 .txt 文件,但实际上并未收集文件中的文本
- linux - "RUN ./configure" => 在 "RUN cd srcdir && chmod +x ./configure" 成功后在 Docker 中找不到
- php - 为什么我的 IF ($a || $b && $c) 语句不能按预期工作(PHP 运算符优先级)