这是我为 CS 课程制作的文本冒险游戏的一小部分。您正在探索一所房子,并通过告诉游戏您要向北、向南、向东或向西移动来导航它。所以我想添加一些东西来告诉你当你输入了一个无效的输入时,如果你说拼错了像 Nroth、Suoth、Eas 或 West 这样的词之一。这些只是示例,但希望您知道我的意思,如果它不完全匹配北、南、东或西。我将如何在这部分代码中做到这一点?我举了一个我想输出的错误的例子,如果你拼写错误,上面写着“elif room ==”porch”,但它应该继续询问你想去哪个方向,即使你得到那个错误,因为截至现在它会继续询问您想去哪个方向,无论您输入什么,它都不会输出根据您进入的房间应该说的文本。def pickRoom(direction, room): if(direction == "quit") or (direction == "exit"): print("Better luck next time!") return "Exit" elif room == "Porch": if direction == "North": return "Pantry" else: print("That is not a valid entry!") elif room == "Pantry": if direction == "North": return "Kitchen" elif direction == "East": return "DiningRoom" elif room == "DiningRoom": if direction == "West": return "Pantry" elif room == "Kitchen": if direction == "West": return "LivingRoom" elif direction == "East": return "Bedroom" elif room == "Bedroom": if direction == "West": return "Kitchen" elif room == "LivingRoom": if direction == "West": return "Bathroom" elif direction == "North": return "Stairs" elif room == "Bathroom": if direction == "East": return "LivingRoom" elif room == "Stairs": if direction == "South": return "Bar" elif room == "Bar": if direction == "East": return "Shop" elif room == "Shop": if direction == "North": return "Closet" elif direction == "South": return "Storage" elif room == "Storage": if direction == "North": return "Shop" elif room == "Closet": if direction == "South": return "Shop"如果您需要更大的代码部分甚至整个 .py 文件来弄清楚,请告诉我,谢谢。
3 回答
哔哔one
TA贡献1854条经验 获得超8个赞
为了保持在显示的代码部分,根据要求,只需在最后添加
else:
print("Sorry, that does not make sense to me.")
return room
通过这种方式,您可以解决当前问题,即在没有任何编程选项与输入匹配的情况下,不可预测的值将重新调整为新的当前房间。通过room在这种情况下返回参数,存储当前房间的变量将继续使用有效房间(当前房间)。
当返回一个不可预测的值时,它很可能不是正确的房间名称之一,它需要这样才能保持逻辑结构正常运行。一旦 room 变量包含垃圾,它就再也无法匹配任何选项,因此不再输出任何有意义的内容。
作为防止房间最终出现垃圾的额外预防措施(由任意数量的可能事故之一造成),您可以检查房间是否是现有房间之一,否则将其重置为默认值 - 或退出并显示错误消息
“哎呀,意外传送到未知空间,下次地球见。”
桃花长相依
TA贡献1860条经验 获得超8个赞
elif room.lower() in ('perch','peach','pooch'):
你可以只列出一个你想指出的所有拼写错误的大列表。如果他们做出的选择不正确,请检查他们输入的值是否在此列表中。
添加回答
举报
0/150
提交
取消