3 回答
TA贡献1876条经验 获得超6个赞
这是一个简单的方法:
user_input = int(input())
Hello = [1,2,3,4,5,6,7,8]
print(Hello[-user_input:])
输出:
[4, 5, 6, 7, 8]
如果您希望每个数字都打印在自己的行上,您可以这样做:
user_input = int(input())
Hello = [1,2,3,4,5,6,7,8]
print(*Hello[-user_input:], sep='\n')
输出:
4
5
6
7
8
TA贡献1831条经验 获得超10个赞
我的理解是您需要在列表中找到输入值的索引,并将列表从索引之前的一个值切片到末尾:
start = Hello.index(user_input) - 1
print(Hello[start:])
TA贡献1790条经验 获得超9个赞
您可以使用 python 切片和索引方法来实现这一点。
index() 方法在列表中查找给定元素并返回其位置。
代码:
hello = [1,2,3,4,5,6,7,8]
i = int(input('enter number: '))
if i in hello and hello.index(i) > 0:
print(l[hello.index(i)-1:])
else:
print('cant do this')
笔记:
您应该检查该元素是否存在于列表中或使用 try: except 扭曲您的语句,否则如果用户输入的数字不在列表中,您将得到 ValueError。
您还应该实现如果用户输入列表中的第一个元素时该怎么做,否则您会得到意外的值。
添加回答
举报