【发布时间】:2018-07-14 15:16:52
【问题描述】:
def sumfirstlast(num):
new_list = list(num)
for sum in new_list:
total = int(new_list.pop(0)) + int(new_list.pop())
return(total)
number = input("Input number")
display = sumfirstlast(number)
print(display)
为什么当我输入 43682 时它返回 11 而不是 6 ?由于我在列表中添加了第一个和最后一个数字
【问题讨论】:
-
你需要将你的字符串转换为整数,现在你正在做字符串连接
-
oml 简单的东西!谢谢完全错过了!
-
使用
sum作为变量名是不好的做法,因为已经有一个名为sum()的内置函数。 docs.python.org/3/library/functions.html#sum(这不是这个特定错误的原因,但这是一个常见的初学者错误,很容易导致难以理解的错误) -
你的问题是你已经在
for循环中得到它 - 你将第一个和最后一个元素添加在一起并将它们从列表中删除,然后再做一次。因此,不是将 4 和 2 相加,而是将 3 和 8 相加。
标签: python