当前位置: 首页 > 面试题库 >

总和函数prob TypeError:+不支持的操作数类型:'int'和'str'

樊熠彤
2023-03-14
问题内容

我是python(PYTHON 3.4.2)的新手,我正在尝试制作一个可进行加法和除法运算的程序,以查找用户输入的平均值或均值,但我不知道如何添加数字接收。

当我在命令提示符下打开程序时,它接受我输入的数字,并且如果我使用打印功能,也将打印它,但不会将数字加起来。

我收到此错误:

TypeError: unsupported operand type(s) for +: 'int' and 'str'

我的代码如下:

#Take the user's input
numbers = input("Enter your numbers followed by commas: ")
sum([numbers])

任何帮助将不胜感激。


问题答案:

input 将输入作为字符串

>>> numbers = input("Enter your numbers followed by commas: ")
Enter your numbers followed by commas: 1,2,5,8
>>> sum(map(int,numbers.split(',')))
16

您要告诉用户使用逗号分隔输入,因此需要用逗号分割字符串,然后将其转换为int然后求和

演示:

>>> numbers = input("Enter your numbers followed by commas: ")
Enter your numbers followed by commas: 1,3,5,6
>>> numbers
'1,3,5,6'   # you can see its string
# you need to split it
>>> numbers = numbers.split(',')
>>> numbers
['1', '3', '5', '6']
# now you need to convert each element to integer
>>> numbers = [ x for x in map(int,numbers) ]
or
# if you are confused with map function use this:
>>> numbers  = [ int(x) for x in numbers ]
>>> numbers
[1, 3, 5, 6]
#now you can use sum function
>>>sum(numbers)
15


 类似资料:
  • 问题内容: 我试图像这样制作垂直的seaborn boxplot 我得到 我写东方 并得到 但 作品coreect!怎么了? 问题答案: 对于Seaborn的箱形图,在水平和垂直对齐方式之间切换时,请务必注意x轴和y轴的分配: 混淆列会导致seaborn尝试计算分类数据框中的摘要统计信息,这肯定会失败。

  • 问题内容: 每当我运行这个程序我都会得到这个 我该怎么做才能将pyc除以tpy? 问题答案: 通过将它们变成整数: 在python 3中,该函数返回一个字符串。总是。这是对Python 2的更改;该功能已重命名为。

  • 对stackoverflow来说是全新的,所以如果我犯了任何错误,请原谅我 我现在正在努力学习Java,我的if语句遇到了一些问题 在下面的代码块中,我遇到了一个错误: 不兼容的操作数类型die和int 我知道错误告诉我要修复什么,但我不太确定如何着手并实际修复它。 有什么建议吗?

  • 我有以下代码。我知道它既长又复杂,但在我的笔记本电脑上运行需要1.5分钟。如果您能帮助我找到最后导致错误的问题-绘图部分,我将不胜感激。我在Google上没有找到与此错误消息相关的任何内容: QuadMesh和Float的不支持操作数类型 在绘图部分,我尝试了多种形式。它失败于: 在以下情况下失败: 我没有办法在那里介绍什么。 非常感谢。

  • 请看下面的代码。我使用Apache Derby作为嵌入式数据库 此代码出现以下错误 在这里,我试图做的是,获取全名,它作为FirstName、MiddleName和LastName存储在数据库中。 示例:名字-彼得,中间名-梅塔,姓氏-约翰逊 然后我试着得到“彼得·梅塔·约翰逊”。这就是为什么我使用运算符将值合并到3列中。 为什么我得到这个错误?这在MSSQL Server中有效,但在Derby中

  • 问题内容: 我正在尝试实现朴素的高斯,并在执行时遇到不受支持的操作数类型错误。输出: 这是代码 问题答案: 您不能从列表中减去列表。 简单的方法是使用: 您也可以使用列表推导,但需要在函数中更改代码: