首页 > 解决方案 > 如何在输入语句后立即关闭程序

问题描述

我正在用 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 它将执行正确的功能。

标签: python

解决方案


您的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()

推荐阅读