如何正确使用 if-else 以便我得到数字或文本“不是数字”?

问题描述 投票:0回答:1

这是一个高中作业,老师给了我们一个使用 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
python if-statement
1个回答
0
投票

它对您不起作用的原因是因为您正在循环遍历一个数组,其中某些值是整数,而其他值(例如“Cindi”)不是整数。不可能执行“Cindi”/2,因为这会引发异常。

您可能想使用 isinstance(x, int) 来检查数组中的值是否是数字。如果计算结果为 true,则它是一个数字,否则它不是一个数字

© www.soinside.com 2019 - 2024. All rights reserved.