Зацикливание элемента - PullRequest
       9

Зацикливание элемента

0 голосов
/ 30 марта 2020

Мне нужна помощь, чтобы понять это. это до того, как он будет зациклен и составлен список (это оригинальные данные, которые были напечатаны):

import sys

def main():

    names = []

phylum = []

diet = []

output = ""



infile = 'animals_shortList.txt'

try :

    with open (infile, 'r') as file :
        animalList = file.readlines ()
except :

    print ('Error reading file')


animalList.sort()
print (animalList)


main()

output:

['Boar,Mammal,Omnivore\n', 'Caiman,Reptile,Carnivore\n', 
 'Cheetah,Mammal,Carnivore \n', 'Chimp,Mammal,Omnivore', 
 'Crocodile,Reptile,Carnivore\n', 'Elk,Mammal,Herbivore\n', 
 'Ibis,Bird,Carnivore\n', 'Iguana,Reptile,Herbivore\n', 
 'Robin,Bird,Omnivore\n', 'Squirrel,Mammal,Herbivore\n', 
 'Turtle,Reptile,Omnivore\n', 'Yak,Mammal,Herbivore\n']

После того, как список был успешно создан и отсортирован, l oop через каждый элемент в списке и печатает животное, тип и диету, как показано. Обратите внимание, что в целях печати (не в фактическом списке) запятые, которые были в исходных данных, были заменены на 3 пробела. Используйте переменную для нумерации каждой напечатанной строки. В финальной программе это будет первый показанный результат. Должно быть показано так:

enter image description here

Ответы [ 2 ]

0 голосов
/ 30 марта 2020

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

def main():
    try:
        with open('animals_shortList.txt', 'r') as file:
            animals = sorted(file.readlines())
            for idx, line in enumerate(animals, 1):
                print("{} {}   {}   {}".format(idx, *line.strip().split(",")))
    except EnvironmentError: # --> catches errors like IOError, OSError etc.
        print ('Error reading file')

Вывод:

1 Boar   Mammal   Omnivore
2 Caiman   Reptile   Carnivore
3 Cheetah   Mammal   Carnivore
4 Chimp   Mammal   Omnivore
5 Crocodile   Reptile   Carnivore
6 Elk   Mammal   Herbivore
7 Ibis   Bird   Carnivore
8 Iguana   Reptile   Herbivore
9 Robin   Bird   Omnivore
10 Squirrel   Mammal   Herbivore
11 Turtle   Reptile   Omnivore
12 Yak   Mammal   Herbivore
0 голосов
/ 30 марта 2020

Вы пробовали это:

for i, line in enumerate(animalList):
    line = line.strip().split(',')
    print(f"{i} {line[0]}  {line[1]}  {line[2]}")

enter image description here

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