Python 求和函数问题类型错误:+;的操作数类型不受支持:';int';和';str';
我对python(Python3.4.2)是新手,我正在尝试制作一个程序,用加法和除法查找用户输入的平均值或平均值,但我不知道如何添加收到的数字 当我在命令提示符下打开程序时,它会接受我输入的数字,如果我使用打印功能,它也会打印出来,但它不会将数字相加 我收到这个错误:Python 求和函数问题类型错误:+;的操作数类型不受支持:';int';和';str';,python,sum,typeerror,operand,operands,Python,Sum,Typeerror,Operand,Operands,我对python(Python3.4.2)是新手,我正在尝试制作一个程序,用加法和除法查找用户输入的平均值或平均值,但我不知道如何添加收到的数字 当我在命令提示符下打开程序时,它会接受我输入的数字,如果我使用打印功能,它也会打印出来,但它不会将数字相加 我收到这个错误: TypeError: unsupported operand type(s) for +: 'int' and 'str' 我的代码如下: #Take the user's input numbers = input("Ent
TypeError: unsupported operand type(s) for +: 'int' and 'str'
我的代码如下:
#Take the user's input
numbers = input("Enter your numbers followed by commas: ")
sum([numbers])
任何帮助都将不胜感激。将为您提供字符串,您正在尝试使用int连接字符串。
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,然后求和
演示:
请尝试以下代码。它对我有用。实际上,
input()
尝试将输入作为Python表达式运行。但是raw\u input()
将输入作为字符串<代码>输入()存在于Python 3.x中。您可以找到更多详细信息
输出:
Enter your numbers followed by commas: 1,2,3,4
10
首先,您需要将“numbers”元素转换为int,而不需要去掉逗号或空格。这段代码非常简单,运行良好
numbers = input("Enter your numbers followed by commas: ")
numbers_int = [int(x) for x in numbers]
numbers_sum = sum(numbers_int)
print numbers_sum
简单:列表元素存储为字符串:),因此您必须将它们全部转换为int请提供完整的回溯信息好吗?我收到一个ValueError:int()的无效文本,以10为基数:“,”如何输入数字?我这样测试它:2,3,4等等。更新:我用“2,3,4”和“2,3,4”以及其他可能的变体对它进行了测试,结果很好。哦,我想这是因为我使用的是Python3.x.x,所以我必须使用“eval(input())”而不是“input()”,以获得相同的结果。当我这么做的时候,它工作得很好。是的,我有Python3.4,所以我尝试了你的代码,但是用了“eval(input())”而不是“input()”,它工作得很好,谢谢!我很高兴能帮上忙。
Enter your numbers followed by commas: 1,2,3,4
10
numbers = input("Enter your numbers followed by commas: ")
numbers_int = [int(x) for x in numbers]
numbers_sum = sum(numbers_int)
print numbers_sum