首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python 3.3中的同时分配

python 3.3中的同时分配
EN

Stack Overflow用户
提问于 2015-11-24 07:25:07
回答 2查看 794关注 0票数 0

我是python编程的新手,我指的是一本书"Python编程:计算机科学导论“。由于我无法阅读一本面向python 3的基础书,所以我面临着下面描述的语法问题

代码语言:javascript
复制
>>> def f():
x,y=input("enter two numbers seperated by a comma: ")
s=x+y
d=x-y
print (s,d)
f()

我得到的结果是

代码语言:javascript
复制
>>> 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)

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-24 07:29:41

"input“当时只返回一个值,因此不能为两个变量分配它。如果您期望两个值,您可能希望通过空格或任何其他方便的分隔符来拆分字符串。

代码语言:javascript
复制
>>> 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) -确保只将字符串拆分一次,分成两部分。map(int.)-将每个字符串段值转换为整数。

票数 0
EN

Stack Overflow用户

发布于 2015-11-24 07:29:25

input函数返回一个str (在Python3中),它不会被自动拆分为两个变量。你需要做的事情是:

代码语言:javascript
复制
x, y = input('enter two numbers separated by a comma:').split(',')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33887662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档