为什么在三元运算符中收到“表达式被赋值为空”的警告?

-1 投票
1 回答
46 浏览
提问于 2025-04-12 02:55

我有一些简单的年龄分类代码,里面尝试使用三元运算符。代码是能正常运行的,但VS Code在代码下面显示了一条黄色的线,提示“表达式...没有被赋值”。我该如何去掉这个提示呢?

age = int(input("Input your age: "))
print("Teen") if age >= 15 else print("Kids")  # here
print("End program")

在这里输入图片描述

1 个回答

1

这是因为 do_x if x else do_y 是一个表达式。通常情况下,你会想要保存这个表达式的结果。需要注意的是,使用 print() 并不是关键。你调用的任何函数都可能返回一个或多个值。在这种情况下使用三元运算符,只有在你参加“让Python变得晦涩”的比赛时才值得尝试。更简单的做法是直接这样写:

if age >= 15:
  print("Teen")
else:
  print("Kids")

撰写回答