Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在一行中输入两个用逗号分隔的变量_Python - Fatal编程技术网

Python 在一行中输入两个用逗号分隔的变量

Python 在一行中输入两个用逗号分隔的变量,python,Python,是否可以在一行中输入两个用逗号分隔的数字int或float 假设程序运行后,它会要求用户输入一个范围:,然后用户会输入2,3。因此,变量范围是[2,3]。据我所知,range\u choice.split()是唯一的方法 num1,num2 = map(float, raw_input('Enter a range: ').split(',')) 或者,如果要在第二个值中使用逗号,请使用而不是: 在这种情况下,您必须自己将两个字符串转换为数字。num1,num2=raw_输入('输入范围:')

是否可以在一行中输入两个用逗号分隔的数字
int
float

假设程序运行后,它会要求用户输入一个范围:,然后用户会输入
2,3
。因此,变量范围是
[2,3]
。据我所知,
range\u choice.split()
是唯一的方法

num1,num2 = map(float, raw_input('Enter a range: ').split(','))
或者,如果要在第二个值中使用逗号,请使用而不是:

在这种情况下,您必须自己将两个字符串转换为数字。

num1,num2=raw_输入('输入范围:')。拆分(','))


如果您想将它们作为数字,最好不要使用原始输入。

我的理解是安全的:


在python3中,您可以直接使用input()方法,而不是原始输入()


您可以使用:

var1 sep var2 sep ... sep varn = map(type, input().split('sep'))
对于int

浮球

语法:

var1 sep var2 sep ... sep varn = map(type, input().split('sep'))

对于字符串


是的,拆分是一种方法。
split
不是唯一的方法,但它是最快、最简单的方法。您可能需要记住的一件事是,如果用户没有输入任何内容,只输入1个带/不带逗号的值,等等,会发生什么情况。不要调用变量
input
,这是一个内置函数..split比这更好,这不是一个更好的选项。@utdemir更新了关于何时使用哪个选项的更多详细信息。您需要能够清理输入,因此立即赋值将导致错误输入的异常。@Manny D抱歉,我不明白。当不存在两个值或非浮点值时,第一行抛出异常。捕捉这些
ValueError
s并处理格式不正确的输入,这真是太棒了。@phihag我按照你的建议做了,效果很好。当我在壳里做的时候,它就好了。如果我输入“num1,num2”,它会打印出类似(2.0,3.0)的范围。但是如果我把它作为一个.py文件运行,那么我得到的语句是“print num1,num2”,然后它只打印2.03.0,没有括号和逗号。为什么会这样?我怎么得到它们?谢谢!不要无条件地计算任意输入
input
不好,这就是为什么在Python2上,
raw\u input
将其替换为
input
。@Josh
input
是一个不必要的安全漏洞(因此在Python3中会消失),因为您允许用户执行任意程序。此外,这也不能保证
x
y
是数字(例如,对于Python 3,输入
“ab”
)或代替
原始输入。
>>> x, y = ast.literal_eval(raw_input('Enter a range: '))
Enter a range: 5, 6
>>> x, y
(5, 6)
var1,var2 = input().split(',')
a,b = map(int,input().split(','))
a,b = [int(i) for i in input().split(',')]
a,b = map(float,input().split(','))
var1 sep var2 sep ... sep varn = map(type, input().split('sep'))
var1 sep var2 sep ... sep varn = [type(var) for var in input().split('sep')]
a, b = input().split(',')