【问题标题】:calling function by user input? [duplicate]通过用户输入调用函数? [复制]
【发布时间】:2018-09-28 07:00:45
【问题描述】:

我是 python 的新手,我想输入用户的输入并打印月份名称,我不知道我在此代码中做错了什么,请纠正我

value=raw_input("Enter value to print month ")
    def switch_demo(argument=value):
        switcher = {
            1: "January",
            2: "February",
            3: "March",
            4: "April",
            5: "May",
            6: "June",
            7: "July",
            8: "August",
            9: "September",
            10: "October",
            11: "November",
            12: "December"
        }
        print switcher.get(argument, "Invalid month")

    switch_demo(value)

【问题讨论】:

  • 你的错误是什么?
  • 如果我输入 2 它的打印无效月份而不是二月代码不起作用
  • 将输入更改为 int。

标签: python python-2.7 python-requests


【解决方案1】:

raw_input 接受值并将其作为字符串返回。所以当你输入 1 或 2 时,它会返回为 '1' 或 '2'。

您必须将输入值显式转换为 int:

value=int(raw_input("Enter value to print month "))

或者,您可以使用 input() 来接受用户输入:

value = input("Enter value to print month ")

【讨论】:

  • 感谢它的工作 negi ji
  • 在 Python 2 上使用 input 就像为您的代码打开地狱之门。
【解决方案2】:

你的问题是你的“切换器”字典有整数键,当你调用时参数是一个字符串

print switcher.get(argument, "Invalid month")

一种可能的解决方案是将参数转换为 int,然后它应该可以工作。

print switcher.get(int(argument), "Invalid month")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-08-07
    • 1970-01-01
    • 2013-05-13
    • 2012-11-17
    • 1970-01-01
    • 2017-02-18
    • 2019-04-01
    • 1970-01-01
    相关资源
    最近更新 更多