出现的问题:如果输入 boy ,第一个 if 语句成立,执行 print("you are a male.") 。第二个 if 语句不成立,执行 else 里面的 print("what do you mean?") 。这里的第二个 if 和 else 是一对,第一个 if 与其无关。所以第一个 if 成立与否,不影响 else 代码块的执行; else 代码块是由第二个 if 决定的。
修改后的代码:counts = 5
while counts > 0:
gender=input("what is your gender?")
if gender.lower() == "boy":
print("you are a male.")
elif gender.lower() == "girl":
print("you are a female.")
else:
print("what do you mean?")
break
counts=counts-1
改动:1.将第二个 if 改为 elif 。 if-elif-else 相当于:if gender.lower() == "boy":
print("you are a male.")
else:
if gender.lower() == "girl":
print("you are a female.")
else:
print("what do you mean?")
2.无论输入 boy 还是 girl , counts 都应该 -1 |