将列表中的两个数字相加的问题蟒蛇

问题描述

我真的是编程新手(两天大),所以请原谅我的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"这是字符串,如果从中删除双引号,它们将变成整数173

因此,如果要添加2个数字,则在Python中必须为integerfloat

只需删除列表中的双引号即可: list_nums = [17,3]

,

您的num1num2变量包含字符串值'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中内置函数的名称。通常,最好避免覆盖此类名称。其他应避免使用的通用名称:idtypeminmax等。