python - 如何在输入语句后立即关闭程序
问题描述
我正在用 Python 3 制作一个简单的文本游戏,我试图制作一个输入语句,但是当我回答它时,程序就关闭了。我怎样才能解决这个问题?
我试过用谷歌搜索它,但我只看到“程序在打开后立即关闭”。
def startgame():
print("####################")
ign = input("Type a name. ")
print("####################")
namedecision = input("You have picked " + ign + ".\nAre you sure you want\nto keep this name? (Y/N) ")
if namedecision == ['y','Y']:
# put game func
print("####################")
if namedecision == ['n', 'N']:
ign = input("Type a name. ")
namedecision = input("You have picked " + ign + ".")
print("####################")
# game func
startgame()
我希望如果我输入 Y 或 N 它将执行正确的功能。
解决方案
您的if
语句总是返回 false,因为您的输入将始终是一个字符串,并且您将它与一个列表进行比较。更改您的==
forin
以检查字符串(或任何其他类型)是否在列表中。
更正的代码:
def startgame():
print("####################")
ign = input("Type a name. ")
print("####################")
namedecision = input("You have picked " + ign + ".\nAre you sure you want\nto keep this name? (Y/N) ")
if nameDecision in ['y','Y']:
# put game func
print("####################")
elif nameDecision in ['n', 'N']:
ign = input("Type a name. ")
namedecision = input("You have picked " + ign + ".")
print("####################")
startgame()
推荐阅读
- reactjs - 使用反应中的复选框从数组中获取选定的图像
- mongodb - MongoDB时差然后求和
- php - Laravel 用户必须至少登录 5 次才能访问页面
- angular - 我正在尝试在 Typescript 中创建一个简单的计时器,在浏览器控制台中显示“this.pad 不是函数”,但我不明白为什么
- vbscript - 在同一文件夹中使用 .VBS VBScript 打开 VBA 宏(需要路径)
- java - 如何在 Recyclerview 中显示图像 - Recyclerview 图像显示错误
- excel - 溢出范围的条件格式
- java - 在 android studio 中迁移到 android 后,文件上传器中的 startActivityForResult 显示错误
- apache-kafka - Kafka apache + 如何跨 jbod 重新平衡主题
- c++ - Apple Clang 和 Homebrew 中支持 OpenMP 的 Clang 之间有区别吗?