这是一个高中作业,老师给了我们一个使用 try-except 的代码块,然后告诉我们将其更改为 if-else 命令。我不断遇到错误,但我真的不知道我做错了什么。
老师密码:
data = [10, 9, "Cindi", 4, "8"]
for x in data:
try:
print(x/2)
except:
print("Not a number")
这是我尝试过的 if-else 代码,但一直出现错误:
data = [10, 9, "Cindi", 4, "8"]
for x in data:
if x:
print(x/2)
else:
print("Not a number")
第 4 行错误:
类型错误:/ 不支持的操作数类型:“str”和“int”
我期待的结果是:
5
4.5
Not a number
2
Not a number
它对您不起作用的原因是因为您正在循环遍历一个数组,其中某些值是整数,而其他值(例如“Cindi”)不是整数。不可能执行“Cindi”/2,因为这会引发异常。
您可能想使用 isinstance(x, int) 来检查数组中的值是否是数字。如果计算结果为 true,则它是一个数字,否则它不是一个数字