如何使此脚本接受循环输入?

2024-04-20 02:56:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python新手,在学习OOP的同时,我尝试制作一个脚本,可以接受用户输入指定数量的条目(或者直到输入一个特殊的关键字,如“exit”),并将其写入名为“entries.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

然后程序不应该退出,只需要请求另一个条目


Tags: 代码nameselftxtinputagedef条目
1条回答
网友
1楼 · 发布于 2024-04-20 02:56:10
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”等变量名,您应该使用有意义的名称

相关问题 更多 >