为什么我输了start也print了sorry呢?我把else的缩进前移了就直接error 好难啊while循环怎样才能在我输入start是只print1 stop是只print2呢
if 和 else是配对的,你只有一个else,和最近的if配对
while a != "quit":
a = input("")
if a == "start":
print("1")
if a == "stop":
print("2")
if a == "quit":
break;
else:
print("sorry")
我间隔开了,就是说,你输入每一个字符串都会判断一次start,stop,同时判断一次quit
所以当你输入start,会输出1,同时又判断是否等于stop,发现不等,在判断是否等于quit, 不等,但这里有个else所以就执行else了
你这是三个判断语句
想要达到你想要的效果应该是一个判断语句
while(True):
a=input()
if a=="start":
print(1)
elif a=="stop":
print(2)
elif a=="quit":
break
else:
print("sorry")
这是因为条件语句使用出了问题,把第二个,第三个if改为elif就可以了。
a=""
while a!= "quit":
a=input("")
if a=="start":
print("1")
elif a=="stop":
print("2")
elif a=="quit":
break
else :
print("sorry")