как добавить нумерацию внутри цикла for?

#python

Вопрос:

У меня проблема с печатью строки с номером. Как добавить нумерацию перед строкой? Я прокомментировал, в какой части.

 f = open('filename', "r") lines = f.readlines() for line in lines:  synonyms = []  print(line) # I want my interface to be, 1. word 2. word, and so on  answer = input("Answer: ").lower()  for syn in wordnet.synsets(line.strip()):  for l in syn.lemmas():  synonyms.append(l.name())  

Мой код просто печатается

слово 1

Ответ:

слово 2

Ответ:

Мой идеальный код-это:

1.слово 1

Ответ:

2.слово 2

Ответ:

Ответ №1:

замените свою петлю:

 for i, line in enumerate(lines):  print(str(i   1)   '. '   str(line))  

«я» будет номером, которого ждали…

вы можете использовать интерполяцию строк, если вы находитесь на минимальном python3.6

 print(f'{i   1}. {line}')  

Комментарии:

1. куда мне его положить? под петлей для?

2. @AbbieB Нет, вам следует изменить существующий цикл for для использования enumerate() , как показано здесь.

Ответ №2:

Вместо того, чтобы проходить через каждую строку в lines списке, просто просмотрите индексы каждого элемента , а затем распечатайте index 1 , поскольку очевидно, что индексы списка начинаются с 0, но мы хотим, чтобы наша нумерация начиналась с 1. Итак, вместо того, чтобы печатать только строку, мы напечатаем line_no: line

 f = open('filename', "r") lines = f.readlines() for line_no in range(len(lines)):  synonyms = []  print(f"{line_no 1}: {lines[line_no]}") # I want my interface to be, 1. word 2. word, and so on  answer = input("Answer: ").lower()  for syn in wordnet.synsets(line.strip()):  for l in syn.lemmas():  synonyms.append(l.name())  

Надеюсь, мой ответ помог 😀

Ответ №3:

Попробуй это:

 f = open('filename', "r") lines = f.readlines() for line_no,line in enumerate(lines):  synonyms = []  print(str(line_no 1) '.' line) # I want my interface to be, 1. word 2. word, and so on  answer = input("Answer: ").lower()  for syn in wordnet.synsets(line.strip()):  for l in syn.lemmas():  synonyms.append(l.name())  

Ответ №4:

Добавьте вызываемую переменную count и увеличивайте ее с каждой итерацией for цикла. Код:

 count = 1 f = open('filename', "r") lines = f.readlines() for line in lines:  synonyms = []  print(str(count)   ". "   line)  count  = 1  answer = input("Answer: ").lower()  for syn in wordnet.synsets(line.strip()):  for l in syn.lemmas():  synonyms.append(l.name())