-2

我正在尝试根据用户输入打印列表的值,即如果用户输入 3,它只打印元素 1、2 和 3。如果用户输入 5,它打印元素 1、2、3、4 和 5。我有写在下面的代码,但它给了我错误:

var1 = [ '1', '2', '3', '4' , '5']
x = input('Enter the number of sites')
print('The values are', var1[1:x] )

这个错误来了:

slice indices must be integers or None or have an __index__ method

任何帮助表示赞赏。

4

1 回答 1

3

在 Python3 中,input内置函数返回一个字符串,并且由于列表索引只能是整数,因此您会收到错误消息。

要修复它,您应该将input函数的结果转换为整数,如下所示:

var1 = [ '1', '2', '3', '4' , '5']
x = int(input('Enter the number of sites'))
print('The values are', var1[1:x])

您可以将字符串格式化为用逗号很好地分隔,例如:

to_print = ', '.join(var[1: x]))
print('The values are', to_print)
于 2013-07-25T10:44:51.420 回答