我正在做一个快速zork游戏,但我遇到了这个问题,使用“或”运算符。我认为这很简单,但我不明白为什么这不起作用。现在,如果你输入“n”,你应该得到“这个工程”,因为它等于字符串“n”。相反,它打印出“它的作品”和“这个作品”,所以很明显我用“或”错误。或运算符混淆python
x=0
while x<20:
response = input("HI")
if response!= 'n':
print("it works")
if response == 'n':
print("this works")
x+=1
使用前或它的工作原理
x=0
while x<20:
response = input("HI")
if (response!= 'n') or (response != 's'):
print("it works")
if (response == 'n') or (response == 's'):
print("this works")
x+=1
使用后或打印出来两者。这可能是一些明显-.-
作为一个侧面说明,对于魔域风格的文字冒险游戏,每个房间的功能(我只是假设在这里,但是这就是大多数新手做...),其中每一个都是一串长长的'if' /'elif'这样的语句,很快就会变得笨拙。您可能需要考虑从其余代码中分析解析器,并使用真正的解析库,并将房间转换为数据而不是代码等等。首先以[Inform](http://inform7.com)的形式构建一个冒险,看看它是多么容易,然后试图找出如何使它在Python中变得简单,也许会有所帮助。 – abarnert