尝试在python中添加列表的第一个和最后一个整数

2024-09-27 19:31:30 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我刚刚开始了一个python的在线课程,只是为了我,其中一个练习是让我从你输入的列表中添加第一个和list integer,我想我已经有了,但是不太确定,因为它总是给我一个错误

ValueError: invalid literal for int() with base 10

我的代码是

userList = list(map(int, input().split(',')))
intTotal = userList[1] + userList[len userList]
print (intTotal)

现在,我如何理解它,[1]将是第一个userList值,因为它是列表中的第一个位置,[len userList]应该给我最后一个位置,因为它将列表的长度作为位置号。在

然后它应该打印变量intTotal

如果你能告诉我我哪里出错了如果这一切都是王牌!在


Tags: 列表forbaselen错误withintegerlist
1条回答
网友
1楼 · 发布于 2024-09-27 19:31:30

您的错误很可能是您的输入类似于1, 2, 3, 4, 5,

当您使用split(',')时,您的列表末尾将有一个额外的空条目,您必须对此进行说明。你可以在列表理解中检查这一点。在

要访问列表的最后一个元素,可以使用arr[len(arr)-1],或者在支持负索引的Python中使用arr[-1]。在

以下是您的代码的工作版本,其中包含上述更改:

userList = [int(x.strip()) for x in input().split(',') if x]
intTotal = userList[0] + userList[-1]
print (intTotal)

样本运行:

^{pr2}$

您可以使用isdigit()使其更加健壮,以过滤出错误的输入,这允许用户输入字母,但它只添加输入的第一个和最后一个数字:

userList = [int(x) for x in input().split(',') if x.isdigit()]

样本运行:

>>> 1,2,a,3,4,6,b,4
5

相关问题 更多 >

    热门问题