如何在python中输入输入

时间:2013-10-27 06:51:34

标签: python input

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

4 个答案:

答案 0 :(得分:4)

这样做的方法不止一种。

从解释器中获取输入

对于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两个版本。

希望这有帮助!

答案 1 :(得分:2)

答案 2 :(得分:1)

您可以使用inputraw_input功能。

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

例如:

inputString = raw_input()

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

inputInt = int(raw_input())

答案 3 :(得分:1)

为用户输入输入的最佳方法是使用raw_input,这将把用户输入作为字符串。让我演示一下:

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

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

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

在这里,input实际上已经评估了,因为我们已经声明了aa + 1 == 3,我们在控制台会话中看到它作为输出。 以后会成为一个安全问题(您不希望用户搞乱您的变量),因此对于用户输入,raw_input是最佳选择。

由于您从string获得raw_input,您可以将其转换为您喜欢的任何内容,如果可以转换它,例如:

>>> 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