问题描述
我真的是编程新手(两天大),所以请原谅我的python笨手笨脚。我最近在将列表中的数字相加时遇到问题。我设法提出了这个程序:
list_nums = ["17","3"]
num1 = list_nums[0]
num2 = list_nums[1]
sum = (num1) + (num2)
print(sum)
问题是Python没有将num1与num2(17 + 3 = 20)相加,而是将两个数字(即“ 173”)组合在一起。我该怎么做才能将数字相加而不是合并?
解决方法
"17"
和"3"
这是字符串,如果从中删除双引号,它们将变成整数17
和3
。
因此,如果要添加2个数字,则在Python中必须为integer
或float
。
只需删除列表中的双引号即可:
list_nums = [17,3]
您的num1
和num2
变量包含字符串值'17'
和'3'
。字符串的运算符+
可以串联,例如'17' + '3' == '173'
。如果需要从中取出20个,则需要使用数字类型,例如整数。为此,您要么需要从17和3文字中删除引号:
list_nums = [17,3]
num1 = list_nums[0]
num2 = list_nums[1]
acc = num1 + num2
print(acc)
...或即时将字符串转换为整数:
list_nums = ["17","3"]
num1 = list_nums[0]
num2 = list_nums[1]
acc = int(num1) + int(num2)
print(acc)
PS 。sum
是python中内置函数的名称。通常,最好避免覆盖此类名称。其他应避免使用的通用名称:id
,type
,min
,max
等。