Как я могу добавить номера свинца в список, который пуст, и я заполняю его вводом - PullRequest
1 голос
/ 29 января 2020

так что это мой код

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.

И если я перезапущу программу, идеи все равно останутся в списке

Ответы [ 5 ]

1 голос
/ 29 января 2020

Идеи не могут оставаться в списке, поскольку список создается во время выполнения. Если вы хотите написать идеи где-нибудь, возможно, самый простой способ - записать их в файл *.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")
0 голосов
/ 29 января 2020

В этом случае будет печататься каждый «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.asda

Какая у вас новая идея? : asdadasd

2.asdadasd

Переменные не будут сохранены после выполнения, несмотря на то, что вы не сохраните их в файле.

0 голосов
/ 29 января 2020

Я бы предложил написать отдельный метод для печати списка ваших идей в выбранном формате. Что-то вроде приведенного ниже кода должно работать для вас.

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)
0 голосов
/ 29 января 2020

Вы можете сохранить list_of_idea в формате pickle, когда хотите его сохранить. После этого вы можете загрузить рассол, содержащий список идей

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']
0 голосов
/ 29 января 2020

вы можете использовать длину вашего списка для определения текущего индекса:

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)

output:

['1.first idea', '2.second idea' ...]

, если вы хотите сохранить список, даже если вы закрываете программу чем использовать файл для сохранения списка или базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...