如何在没有elif的情况下修复if语句Python中的错误



我正在编写一个简单的Python程序,该程序通过数字定义年龄类别。例如,15岁是青少年。但当你进入13岁时,这个项目既有儿童期,也有青少年期。

age = int(input())
if age <= 13:
print("childhood")
if age >= 13 <= 24:
print("teenager")
if age >= 25 <= 59:
print("adult")
if age >= 59:
print("old age")

如何在不使用elif的情况下解决此问题?

您使用您使两个条件都为true,因为13适合这两个条件,因为您不需要对它们使用小于/大于或等于13 <= 1313 >= 13,所以它同时满足它们。

这样做:

age = int(input())
if age < 13:
print("childhood")
if age >= 13 and age < 24:
print("teenager")
if age >= 25 and age < 59:
print("adult")
if age >= 59:
print("old age")

将第一个if语句更改为"lt"而不是"<"或者将第二if语句更改为"if">quot;而不是">&";。如果你想让13岁的孩子成为青少年,那应该是前者。

您可以使用else-if,但这是非常笨拙的,因为每次删除时都需要缩进。

if True:
print()
else:
if True:
print()
else:
if True:
print()
else:
print()

最新更新