所以这是我的代码
list_of_idea = []
while True:
ask = input("What is your new idea ? :")
list_of_idea.append(ask)
print(list_of_idea)
当我运行它时,它会显示一个列表,例如:
[first idea , second idea , third idea, ...]
当我运行程序时,我可以做什么,它将显示:
1.first idea
2.second idea
3.third idea
...
N. N idea.
如果我重新启动程序,这些想法仍将保留在列表中
这些想法不能保留在列表中,因为列表是在运行时创建的。如果你想把想法写在某个地方,最简单的方法可能是把它写到一个*.txt
文件中。
with open("idea_list.txt", "a") as file:
list_of_ideas = []
count = 0
while True:
count += 1
ask = input("What is your new idea?n")
list_of_ideas.append(ask)
print(f"{count}) {ask}")
file.write(f"{count}) {ask}n")
运行它后,应在脚本所在的同一目录中创建文件idea_list.txt
。
组织它们的更好方法是查看您上次的想法,然后从那里开始计算,这可以通过这样做来完成:
with open("idea_list.txt", "r") as file:
line = file.readline()
while line:
count = int(line[0])
line = file.readline()
file.close()
with open("idea_list.txt", "a") as file:
list_of_ideas = []
while True:
count += 1
ask = input("What is your new idea?n")
list_of_ideas.append(ask)
print(f"{count}) {ask}")
file.write(f"{count}) {ask}n")
您可以使用列表的长度来确定当前索引:
list_of_idea = []
while True:
ask = input("What is your new idea ? :")
list_of_idea.append(f'{len(list_of_idea) + 1}.{ask}')
print(list_of_idea)
输出:
['1.first idea', '2.second idea' ...]
如果要保留列表,即使关闭程序,也必须使用文件来保存列表或数据库。
我建议编写一个单独的方法来以选定的格式打印您的想法列表。类似于下面的代码应该适合您。
def print_ideas(ideas):
for index, idea in enumerate(list_of_ideas):
print("{}. {}".format(index+1, idea))
list_of_ideas = ['First idea', 'second idea', 'Third idea']
print_ideas(list_of_ideas)
完整解决方案应如下所示:
def print_ideas(ideas):
for index, idea in enumerate(list_of_ideas):
print("{}. {}".format(index+1, idea))
list_of_idea = []
while True:
ask = input("What is your new idea ? :")
list_of_idea.append(ask)
print_ideas(list_of_idea)
这种情况将打印每个"1.idea"。问完之后。
list_of_idea = []
while True:
ask = input("What is your new idea ? :")
list_of_idea.append(ask)
print("{}.{}".format(len(list_of_idea), ask))
你的新想法是什么? :asda
1.阿斯达
你的新想法是什么? :asdadasd
2.阿斯达达斯德
执行后不会保存变量,即使您没有将它们保存在文件中。
当您想要保存时,您可以将list_of_idea保存为泡菜格式。之后,您可以加载包含想法列表的泡菜
import pickle
list_of_idea = []
while True:
ask = input("What is your new idea ? :")
count = len(list_of_idea)
list_of_idea.append( str(count+1) + '. ' + ask)
action = input("enter yes or no, for saving list")
if action == 'yes':
with open('idea.pkl', 'wb') as f:
pickle.dump(list_of_idea, f)
break
else:
pass
print(list_of_idea)
#op
['1. how', '2. are', '3. you']