嗨,我刚刚开始了一个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
如果你能告诉我我哪里出错了如果这一切都是王牌!在
您的错误很可能是您的输入类似于
1, 2, 3, 4, 5,
当您使用
split(',')
时,您的列表末尾将有一个额外的空条目,您必须对此进行说明。你可以在列表理解中检查这一点。在要访问列表的最后一个元素,可以使用
arr[len(arr)-1]
,或者在支持负索引的Python中使用arr[-1]
。在以下是您的代码的工作版本,其中包含上述更改:
样本运行:
^{pr2}$您可以使用
isdigit()
使其更加健壮,以过滤出错误的输入,这允许用户输入字母,但它只添加输入的第一个和最后一个数字:样本运行:
相关问题 更多 >
编程相关推荐