我输入一个新输入后如何保留以前的输入?我想制作一个列表(不是内置函数)来保存先前的输入和最近的输入......
我的问题是当我在前一个输入之后输入一个输入时 - 删除前一个输入并用最近的输入替换它
这是我当前代码的较小版本:
enter = 1
count = 1
ctr = 0
max_input = 3
while ctr < max_input:
for enter in range(1, max_input+1):
if enter <= ctr:
print("input " + str(enter) + ": " + str(user_input))
else:
print("input " + str(enter) + ": ___________" )
user_input = int(input("enter number " + str(count) + ": "))
enter += 1
ctr += 1
此输出:
input 1: ___________
input 2: ___________
input 3: ___________
enter number 1: 1
input 1: 1
input 2: ___________
input 3: ___________
enter number 2: 2
input 1: 2
input 2: 2
input 3: ___________
enter number 3: 3
预期产出:
#the list before entering first number
input 1: ___________
input 2: ___________
input 3: ___________
enter number 1: 1
#the list after entering first number
input 1: 1
input 2: ___________
input 3: ___________
enter number 2: 2
#the list after entering second number
input 1: 1
input 2: 2
input 3: ___________
enter number 3: 3
#the list after entering last number
input 1: 1
input 2: 2
input 3: 3
答案 0 :(得分:1)
您应该将数据存储在列表中,而不是连续打印和覆盖user_input
,它会在重新分配时删除旧内容。这使您可以在同一数据结构中存储多个值。以下是使用列表的代码示例:
# enter = 1 This line doesn't serve any purpose.
count = 1
ctr = 0
max_input = 3
input_list = []
while ctr < max_input:
for enter in range(0, max_input):
if enter < ctr:
print("input " + str(enter+1) + ": " + str(input_list[enter]))
else:
print("input " + str(enter+1) + ": ___________" )
user_input = int(input("enter number " + str(count) + ": "))
input_list.append(user_input)
# enter += 1 This line doesn't serve any purpose.
ctr += 1
我们仍然将输入保存到user_input
,但随后将其添加到input_list
,后者会存储越来越多的值。您可以使用input_list[0]
访问第一个元素,使用input_list[1]
访问下一个元素,依此类推。请注意,列表的第一个元素是索引0
,而不是1
。