我是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”,则仅在一半的时间内起作用。 “前进”变量可以正常工作,但“前进”变量仅在每使用一次更新变量时才返回。我该怎么做?
答案 0 :(得分:3)
您应该只有一个输入,因此只需创建一个变量并对其执行所有条件:
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)
答案 1 :(得分:0)
正如@ U9-Forward所说,您可以简单地执行while指令而无需== True
posx = 0
posy = 0
doForever = True
while doForever:
s = input()
if s == "forward":
posy += 1
print(posy)
elif s == "backward":
posy -= 1
print(posy)