Python 3.x python 3.3中的同时赋值
我是python编程的新手。我指的是一本面向python 2的书《python编程:计算机科学导论》。由于我无法接触到一本面向python 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
>>> 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。请使用问题的编辑按钮显示代码。不要发布图片。你应该复制/粘贴代码