python-3.x - 如何显示无效输入
问题描述
我的任务是:
编写一个程序,反复提示用户输入整数,直到用户输入“完成”。输入“完成”后,打印出最大和最小的数字。如果用户输入的不是有效数字,请使用 try/except 捕获它并发出适当的消息并忽略该数字。输入 7、2、bob、10 和 4 并匹配下面的输出。
我想在计算最大和最小数字后忽略任何无效整数并打印“无效输出”消息。但它总是在用户输入后立即打印无效消息。我该怎么解决这个问题?提前致谢。
代码:
largest = None
smallest = None
while True:
num = input("Enter a number: ")
if num == "done":
break
try:
n = int(num)
except:
print('Invalid input')
if largest is None:
largest=n
elif n>largest:
largest=n
elif smallest is None:
smallest=n
elif n<smallest:
smallest=n
print("Maximum", largest)
print('Minimum', smallest)
解决方案
您可以将其存储invalid output
为布尔变量
largest = None
smallest = None
is_invalid=False
while True:
num = input("Enter a number: ")
if num == "done":
break
try:
n = int(num)
except:
is_invalid=True
if largest is None:
largest=n
elif n>largest:
largest=n
elif smallest is None:
smallest=n
elif n<smallest:
smallest=n
print("Maximum", largest)
print('Minimum', smallest)
if is_invalid:
print('Invalid Input')
推荐阅读
- xcode10 - 如何在 Xcode 中查看所有 iphone 应用程序图标?
- c++ - 在 Mac 上的 CLion 中切换到 Clang 编译器
- python - 运行 pavelib.assets.update_assets 构建失败:子进程返回代码:1
- java - Spring Boot SSL 已配置,服务器启动但无法连接到端口
- javascript - 如何在 onmousedown 事件中获取输入字段上的光标位置
- c# - 使从 SQL 数据库读取流变得通用的正则表达式:
- file - 将 gitlab 提交消息保存到文件
- scala - 如何正确过滤 Spark 中的周期数据?
- ios - 如何将 tableView 数据导出为 PDF 并发送到电子邮件?
- python - 使用正则表达式抓取每次出现的内容