Python 我想从列表中添加以下内容,但结果仅包含 n的样本值为5 预期结果:615

Python 我想从列表中添加以下内容,但结果仅包含 n的样本值为5 预期结果:615,python,python-3.x,list,add,Python,Python 3.x,List,Add,在拆分n是字符串列表之后,应该将它们转换为int n = input("Enter a No: ") n = "{0}+{0}{0}+{0}{0}{0}".format(n) n = n.split("+") a=int(n[0]) b=int(n[1]) c=int(n[2]) n = (a + b + c) print(n) 如有必要,添加try/except以正确处理传递无效数字的情况。您只需在代码中添加一行额外的代码,它就应该正在运行 您需要将列表中的所有元素转换为int以执行加法

在拆分n是字符串列表之后,应该将它们转换为int

n = input("Enter a No: ")
n = "{0}+{0}{0}+{0}{0}{0}".format(n)
n = n.split("+")
a=int(n[0])
b=int(n[1])
c=int(n[2])
n = (a + b + c) 
print(n)

如有必要,添加try/except以正确处理传递无效数字的情况。

您只需在代码中添加一行额外的代码,它就应该正在运行

您需要将列表中的所有元素转换为
int
以执行加法

试试这个:

n = input("Enter a No: ")
n = "{0}+{0}{0}+{0}{0}{0}".format(n)
n = n.split("+")

n = list(map(int, n))

a=n[0] 
b=n[1]
c=n[2] 
n = (a + b + c) 
print(n)


在这里,您应该如何做:

n = input("Enter a No: ")
n = "{0}+{0}{0}+{0}{0}{0}".format(n)
n = list(map(int, n.split("+")))
print(sum(n))
我曾经将字符串列表转换为int列表,并对列表中的所有元素求和。我假设您需要对列表中的所有元素求和。如果只想对前三个元素求和,则:

a=n[0] 
b=n[1]
c=n[2] 
n = (a + b + c) 
print(n)
注意:如果您使用的是最新版本的Python,那么
n=map(int,n)
将返回一个TypeError:
'map'对象不可下标
。您需要显式地将映射返回的对象转换为列表。

您可以使用此选项

n = input("Enter a No: ")
n = "{0}+{0}{0}+{0}{0}{0}".format(n)
out=sum([int(i) for i in n.split('+')])
out_3=sum([int(i) for i in n.split('+')[:4]])

如果只想添加前三个元素,请使用此选项

n = input("Enter a No: ")
n = "{0}+{0}{0}+{0}{0}{0}".format(n)
out=sum([int(i) for i in n.split('+')])
out_3=sum([int(i) for i in n.split('+')[:4]])

使用eval()函数计算字符串中的python语句<代码>eval(“{0}+{0}{0}+{0}{0}{0}”。格式(5))
eval
在这里太多了,这是一个非常危险的函数,我会禁止初学者使用。为什么我必须在第5行再次列出是正确的。抢手货这里不需要它,您可以使用
map
。但这也不会抛出错误。编辑那个。只有
map
也会这样做,因为它已经是一个列表。这会抛出一个错误
n=map(int,n)
TypeError:'map'对象在[51]:n=5在[52]:n=“{0}+{0}+{0}{0}{0}{0}”。格式(n):n=n.split(“+”)::n=map(int,n):a=n[0]:b=n[1]:c=n[2](a+b+c)…打印(n)615