Как я могу сделать этот скрипт для ввода цикла? - PullRequest
0 голосов
/ 27 февраля 2019

Я новичок в python и, изучая ООП, я попытался создать скрипт, который может принимать пользовательский ввод для указанного количества записей (или, возможно, до тех пор, пока не будет введено специальное ключевое слово, например, «выход»), и записать его в файл с именем"records.txt", но код работает не так, как ожидалось.Может кто-нибудь направить меня или изменить мой код?Спасибо !!

num = int(input("number of students: "))

n = input("Name : ")
a = input("Age : ")
m = input("Marks : ")


class Students:
def __init__(self, n, a, m):
    self.name = n
    self.age = a
    self.marks = m


def file(self):
    for i in range(1,num):
        with open("entries.txt","a+") as f:
            f.write("Name : %s \n" %self.name)
            f.write("Age : %s \n" %self.age)
            f.write("Marks : %s \n" %self.marks)
            f.write("----------------------------------------- \n")


s1 = Students(n, a, m)

s1.file() 

Я ожидаю вывод что-то вроде имени: Эндрю Возраст: 20 Оценок: 55

тогда программа не должна выходить просто попросить другую запись.

1 Ответ

0 голосов
/ 27 февраля 2019
num = int(input("number of students: "))

class Student:
    def __init__(self, n, a, m):
        self.name = n
        self.age = a
        self.marks = m

    def file(self):
        with open("entries.txt","a+") as f:
            f.write("Name : %s \n" %self.name)
            f.write("Age : %s \n" %self.age)
            f.write("Marks : %s \n" %self.marks)
            f.write("----------------------------------------- \n")

for i in range(num):
    n = input("Name : ")
    a = input("Age : ")
    m = input("Marks : ")

    s1 = Student(n, a, m)
    s1.file() 

Несколько замечаний по именованию: Назовите класс как единственное, а не множественное число.Избегайте имен переменных, таких как «a», «x» ... и т. Д., Вы должны использовать осмысленное имя.

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