【问题标题】:how to enter input in python [duplicate]如何在python中输入输入[重复]
【发布时间】:2013-11-06 01:58:06
【问题描述】:

我正在参加比赛,但不知道如何让 python 接受输入。这是一个典型的 example 。该站点给出了如何获取输入的示例,但这些示例使用的是 C 和 Java (click here)。请帮我弄清楚在这种情况下如何让 python 接受输入。

【问题讨论】:

标签: python input


【解决方案1】:

有不止一种方法可以做到这一点。

接受解释器的输入

对于 Python 2.x,您可以使用 raw_input() 函数:

my_input = raw_input("Please enter an input: ")
#do something with my_input

请注意,输入始终是字符串。要检索一个数字,您可以使用内置的int() 函数:

my_input = int(raw_input("Please enter an input: "))
#do something with my_input

正如提到的另一个答案,如果输入是浮点数,这将引发错误。

在 Python 2.x 中还有另一个函数 input。然而,在这个版本的 Python 中,input 评估输入,这是一个坏主意。不建议使用。

但是,对于 Python 3.x,您可以毫无问题地使用 input() 函数,因为它可以替代 raw_input

my_input = input("Please enter an input: ")
#do something with my_input

从命令行参数获取输入

您还可以在执行脚本时从命令行参数中检索输入,如下所示:

$ python my_script.py arg1 arg2

参数将存储在列表sys.argv 中。 sys.argv[0] 是第一个参数,sys.argv[1] 是第二个参数,依此类推。
示例:

import sys
my_input = sys.argv[0]
#do something with my_input

查看详情here 此方法适用于 Python 3.x 和 2.x 两个版本。

希望这会有所帮助!

【讨论】:

    【解决方案2】:

    获取用户输入的最佳方式是使用raw_input,这会将用户输入作为字符串接收。让我演示一下:

    >>> var = raw_input("Enter")
    Enter>? happy
    >>> var
    'happy'
    

    注意happy 上的引号,这表示一个字符串。您可能还注意到,input,是的,可以用于接受用户输入,但这里有一个例子表明这是一个坏主意:

    >>> a = 2
    >>> input("Enter")
    Enter>? a+1
    3
    

    这里,input 实际上得到了评估,因为我们已经声明了aa + 1 == 3,我们将其视为控制台会话中的输出。 后来变成了一个安全问题(你不希望用户弄乱你的变量),所以对于用户输入,raw_input 是最好的选择。

    既然你从raw_input得到了一个string,你可以把它转换成你喜欢的任何东西,如果它可以转换,例如:

    >>> var = raw_input("Enter")
    Enter>? 122
    >>> var = int(var)
    >>> var
    122
    

    但是,浮点数不适用于int

    >>> int('1.223')
    Traceback (most recent call last):
      File "<console>", line 1, in <module>
    ValueError: invalid literal for int() with base 10: '1.223'
    

    你需要在这里使用float,然后它就可以工作了:

    >>> float('1.223')
    1.223
    

    【讨论】:

      【解决方案3】:

      【讨论】:

        【解决方案4】:

        您可以使用inputraw_input 函数。

        注意:input 容易出现安全问题,因此请改用raw_input

        例如:

        inputString = raw_input()
        

        这将读取输入行并将其存储在inputString 中。如果你想要int

        inputInt = int(raw_input())
        

        【讨论】:

          猜你喜欢
          • 2019-11-11
          • 1970-01-01
          • 2021-07-03
          • 1970-01-01
          • 2015-03-23
          • 2015-07-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多