我是Python(和一般编程)的新手,我无法理解为什么这段代码不起作用
posx = 0
posy = 0
doForever = True
while doForever == True:
if input() == "forward":
posy += 1
print(posy)
elif input() == "backward":
posy -= 1
print(posy)
应该检查玩家输入的是“前进”还是“后退”并相应地更新ypos。但是实际发生的是,如果您输入“ backward”,则仅在一半的时间内起作用。 “前进”变量可以正常工作,但“前进”变量每隔使用一次仅返回更新的变量。我该怎么做呢?
最佳答案
您应该只有一个输入,因此只需创建一个变量并对其执行所有条件:
posx = 0
posy = 0
doForever = True
while doForever == True:
s = input()
if s == "forward":
posy += 1
print(posy)
elif s == "backward":
posy -= 1
print(posy)
关于python - Elif语句每隔两次仅返回正确的输出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56217915/