python-3.6 - 对寻找因子的程序感到困惑
问题描述
我在网上搜索有关查找因素的信息,看到下面的那个我对此感到困惑并需要一些帮助我不知道这是什么意思
这是我们正在制作的一个项目,该项目是制作一个游戏来查找用户必须输入数字的因素,程序将显示我尝试放入的因素
if ValueError:
print("Sorry, I didn't understand that.")
但它不起作用,我想让程序说“对不起,我不明白”。如果用户输入了字母或特殊字符
如果用户输入了字母或特殊字符,我该如何循环它
def print_factors(x):
print("The factors of",x,"are:")
for i in range(1, x + 1):
if x % i == 0:
print(i)
num = int(input("Enter a number: "))
print_factors(num)
该程序有效,但我似乎无法在顶部添加循环和值错误
解决方案
您可以使用 try catch 块,并捕获 valueError 异常。像下面
def print_factors(x):
print("The factors of",x,"are:")
for i in range(1, x + 1):
if x % i == 0:
print(i)
try:
num = int(input("Enter a number: "))
print_factors(num)
except ValueError:
print("Sorry, I didn't understand that.");
推荐阅读
- javascript - 从外部 window.EventListener 调用函数
- python - 如何检查使用 tkinter 输入的文本是否是 int?(蟒蛇和tkinter)
- java - Java获取两个日期之间的天数
- ruby-on-rails - Rails 6.1.3 - 获取 ARGV 参数
- python - csv文件解析并使其成为dict
- amazon-web-services - 不存在的导出/输出阻止堆栈更新/删除
- c# - 从基类对受保护属性进行单元测试的正确方法
- node.js - docker build 在 npm install 上失败,原因:连接 ECONNREFUSED 104.16.17.35:443
- python - flask-SocketIO 5.X 错误:400“客户端正在使用不受支持的 Socket.IO 或 Engine.IO 协议版本”
- php - Laravel Livewire 星级评定