【问题标题】:Error when calling an 'input' command in Python 3 [duplicate]在 Python 3 中调用“输入”命令时出错 [重复]
【发布时间】:2020-06-05 01:41:42
【问题描述】:

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

我是否遗漏了一些非常微妙的东西,或者 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

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

有趣的旁注:不要再骚扰这个问题了,我只问了大声笑。

【问题讨论】:

  • 您每天都需要报价。
  • 您提供的示例不是一个有效的示例,mondaytuesday 等是什么?
  • @Grismar 你也可以说mon()tue()等是什么
  • 要获得好的答案,必须提供重现问题的尽可能最短的自包含示例。我们应该能够将其复制/粘贴到 python 文件中并运行它以得到与您相同的错误。
  • @gelonida 你应该可以复制粘贴它,这就是我写的所有内容,以及它输出的所有内容。

标签: python python-3.x sublimetext3 sublimetext


【解决方案1】:

问题

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

解决方案

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

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

还有

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

例如:'monday'

我希望这会有所帮助!有关从命令行运行文件的更多信息here

【讨论】:

  • 嗨,愚蠢的问题 - 我在 bash 终端中输入了 '$ chmod +x Home/Desktop/SublimeText3/Python/Sched_Test.py',但出现错误。我想我做错了,但我不知道出了什么问题。你看起来好像你可能知道大声笑。它给出了“没有这样的文件或目录”错误......(抱歉,我有点菜鸟)
  • 尝试将 Home/Desktop/... 更改为 ~/Desktop/...
  • 是的,这并没有解决它,但我在将它直接移动到桌面后设法使其可执行。
  • 好!问题可能是因为路径稍微偏离了。如果您在 Finder 中找到该文件并用两根手指单击它,然后按住 Option 键,则会弹出一个名为“复制为路径名”的有用功能,它会为您复制路径,不会出错。 :)
  • 我正在使用 Windows 键盘...我右键单击它并没有显示,但我会在网上查找它。感谢您今天的所有帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-02
  • 2014-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-19
  • 1970-01-01
相关资源
最近更新 更多