我们说我有一个清单:
lst = [1,2,3,4]
我提示用户输入索引和项目。然后,程序将在列表中查找索引位置,并使用用户输入项替换列表中的元素。例如:
enter index: 2
enter item to replace: 5
输出将是:
[1,2,5,4]
以下是我尝试的内容:
lst = [1,2,3,4]
index = int(input("Enter index: "))
item = int(input("Enter item to replace: "))
i = 0
n = len(lst)
while i<n:
if i == index:
lst[i] = item
else:
i+=1
print(lst)
我不确定为什么它不打印任何东西,我很确定逻辑是按照书面编写的,但我猜测我的问题是在while循环中?
答案 0 :(得分:2)
正如@MosesKoledoye所指出的,你可以使用简单的indexing:
lst = [1,2,3,4]
index = int(input("Enter index: "))
item = int(input("Enter item to replace: "))
lst[index] = item
Enter index: 2
Enter item to replace: 5
print(lst)
[1, 2, 5, 4]
请记住,列表是0索引的。如果您想使用1索引列表,只需使用lst[index + 1] = item
。
答案 1 :(得分:1)
你的while循环永远不会终止,因为i
时i == index
的值永远不会增加 - 因此你的while循环被捕获在一个无限循环中,它永远不会到达程序的末尾打印出列表
lst = [1,2,3,4]
index = int(input("Enter index: "))
item = int(input("Enter item to replace: "))
i = 0
n = len(lst)
while i<n:
if i == index:
lst[i] = item
i+=1
print(lst)