如何保留之前的输入
我该怎么做才能在输入新内容后保留之前的输入呢?我想创建一个列表(不是内置的那种),可以保存之前的输入和最新的输入……
我的问题是,当我在输入一个新内容后,之前的输入就会被删除,变成新的输入。
这是我当前代码的简化版本:
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
1 个回答
2
与其不断打印和覆盖 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
。