0
0 комментариев

Нужна помощь с выводом данных из текстового файла на экран. Можно добавить несколько элементов, но выводит на экран программа только 1 элемент.

import pickle
import sys
 
def add_stud(FILENAME, users):
    with open(FILENAME, "ab") as file:
        pickle.dump(users, file)
 
def print_stud(FILENAME):
    i = 1
    with open(FILENAME, "rb") as file:
        users_from_file = pickle.load(file)
        for user in users_from_file:
            print('[', i, '] - ', "Имя:", user[0], "\tФамилия:", user[1], "\tГод рождения:", user[2])
            i += 1
 
FILENAME = "users.dat"
 
while True:
    print(" [1] - Добавить запись о студенте")
    print(" [2] - Удалить запись о студенте")
    print(" [3] - Вывести на экран записи о студентах")
    print(" [4] - Отсортировать записи по возрасту")
    print(" [5] - Средний возраст студентов")
    print(" [6] - Выход из программы")
    do = input("Укажите номер действия: ")
 
    if do == "1":
        users = [
        [input('Имя - '), input('Фамилия - ') ,int(input('Год рождения - '))]
        ]
        '''users = {
            0: input('Имя - '),
            1: input('Фамилия - '),
            2: int(input('Год рождения - '))
        }'''
        add_stud(FILENAME, users)
        print('Запись добавлена\n')
 
    elif do == "2":
        pass
 
    elif do == "3":
        print_stud(FILENAME)
 
    elif do == "4":
        pass
 
    elif do == "5":
        pass
 
    elif do == "6":
        sys.exit()
 
    else:
        print("\nПопробуй еще раз.\n")


Добавить комментарий