Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.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 3.x python 3.3中的同时赋值_Python 3.x_Syntax Error - Fatal编程技术网

Python 3.x python 3.3中的同时赋值

Python 3.x python 3.3中的同时赋值,python-3.x,syntax-error,Python 3.x,Syntax Error,我是python编程的新手。我指的是一本面向python 2的书《python编程:计算机科学导论》。由于我无法接触到一本面向python 3的基础书,因此我面临下面描述的语法问题 >>> def f(): x,y=input("enter two numbers seperated by a comma: ") s=x+y d=x-y print (s,d) f() 我得到的结果是 >>> f() enter two numbers seperated b

我是python编程的新手。我指的是一本面向python 2的书《python编程:计算机科学导论》。由于我无法接触到一本面向python 3的基础书,因此我面临下面描述的语法问题

>>> def f():
x,y=input("enter two numbers seperated by a comma: ")
s=x+y
d=x-y
print (s,d)
f()
我得到的结果是

>>> f()
enter two numbers seperated by a comma: 2,3
Traceback (most recent call last):


File "<pyshell#10>", line 1, in <module>
f()


File "<pyshell#9>", line 2, in f
x,y=input("enter two numbers seperated by a comma: ")
ValueError: too many values to unpack (expected 2)
>>f()
输入两个以逗号分隔的数字:2,3
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
f()
文件“”,第2行,在f中
x、 y=输入(“输入两个用逗号分隔的数字:”)
ValueError:要解压缩的值太多(应为2个)

我在一些书中试图找到解决方案,比如《深入python 3》和《核心python编程》,但我认为它们现在对我来说太高了。请帮助。

输入函数返回一个
str
(在python 3中),它不会自动拆分为两个变量。您需要执行以下操作:

x, y = input('enter two numbers separated by a comma:').split(',')
“input”一次只返回一个值,因此不能为两个变量分配它。若需要两个值,则可能需要按空格或任何其他方便的分隔符拆分字符串

>>> x,y = map(int, input("Enter x and y separated by comma: ").split(',', 1))
Enter x and y separated by comma: 1, 2
>>> x
1
>>> y
2
拆分(var,1)-确保只将字符串拆分一次为两段。
映射(int…)-将每个字符串值转换为整数。

欢迎使用SO。请使用问题的编辑按钮显示代码。不要发布图片。你应该复制/粘贴代码