因此,我正在忙着制作基于交互式文本的游戏,用户可以用他/她自己的话输入答案 .
我写了一段代码来打印某些字符串,当用户输入某些单词但我无法使其工作 .
无论我输入什么,它总是打印“NOVA ENTERS THE SPACECRAFT”我做错了什么?
以下是我的代码段:
craft_cave = input(char_name + ": I should probably search the ship for supplies and explore this cave, which should I do first? ")
print("")
if "craft" or "Craft" or "ship" or "Ship" in craft_cave:
print("NOVA ENTERS THE SPACECRAFT")
elif "cave" or "Cave" or "mountain" or "Mountain" in craft_cave:
print("NOVA LOOKS AROUND THE CAVE")
else:
print("Invalid answer")
4 回答
被评估为
"craft"
首先被评估为布尔值,它给出True
,所以我们有由于
True or x
始终为True
,因此语句的计算结果为所以第一个if条件总是计算为
True
.您需要直接检查每个if条件中的每个单词
你需要检查一下这些词 . 尝试以下方法:
错误的条件,它检查
"craft"
的值是否为真,它是 . 你应该做这样的事情:更好的是:
更简单的方法,将所有单词放在列表中