在 Python 中调用 'input' 命令时出错 3

Error when calling an 'input' command in Python 3

所以我已经使用了 python 足以知道这是非常简单的代码,没有理由不能正常工作。本质上,我调用一个输入,用户输入一周中的某一天,我还没有为每一天分配功能,所以我用一个 'else' 命令测试了输入,它告诉你 "Invalid input",并且然后召回输入并再次询问您。我通过输入不同于我定义的内容来测试它,但它 returns 什么也没有。它应该打印出"Invalid input."然后重新询问,但它没有。

我是否遗漏了一些非常微妙的东西,或者 Python 在 Sublime Text 3 中不能正常工作?

注意:我在 Python3 中编写,但我从未指定 Sublime Text 3 使用该版本,我只是假设它已经在最新版本的 Python 中解释它 -也许那是我的错误,如果是的话;请有人告诉我如何解决它。

代码如下:

def ask_day():
    day = input("What's the day today?: ")
    if day == monday:
        mon()
    elif day == tuesday:
        tue()
    elif day == wednesday:
        wed()
    elif day == thursday:
        thu()
    elif day == friday:
        fri()
    elif day == saturday:
        sat()
    elif day == sunday:
        sun()
    else:
        print("Invalid input. Enter a day of the week in lower-case.")
        ask_day()

def ask_time():
    time = input("Whats the current hour?: ")

def mon():
    pass


ask_day()

ask_time()

这是输出:

What's the day today?: something else

就像我说的,它应该重新要求我输入一天,但是......没有。它没有结束,它只是卡住了。

有趣的旁注:别再骚扰这个问题了,我只是问了个笑话

问题

Sublime Text 不支持 Python 的 input 功能。 (我知道,一开始这很烦人。)但这是一件好事!它迫使您学习其他方法来 运行 您的代码。

解决方案

随着编码人员获得经验,他们开始从命令行运行他们的程序。

  • 第 1 步:打开终端
  • 第 2 步:运行python3 <your-file.py>。如果您收到 command not found 之类的错误,请尝试 python <your-file.py>.

还有

星期一、星期二等词应该用引号括起来,因为它们是 strings,而不是 variables(您不是在为它们赋值,它们本身就是值)。

例如:'monday'

希望对您有所帮助!有关 运行ning 命令行文件的更多信息 here.