Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使此脚本接受循环输入?_Python_Loops_Oop - Fatal编程技术网

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

Python 如何使此脚本接受循环输入?,python,loops,oop,Python,Loops,Oop,我是python新手,在学习OOP的同时,我尝试制作一个脚本,可以接受用户输入指定数量的条目(或者直到输入一个特殊的关键字,如“exit”),并将其写入名为“entries.txt”的文件中,但代码没有按预期工作。有人可以指导我或修改我的代码吗?谢谢 num = int(input("number of students: ")) n = input("Name : ") a = input("Age : ") m = input("Marks : ") class Students: d

我是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

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

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”等变量名,您应该使用有意义的名称。

代码的预期输出是什么?您希望得到什么,那么会发生什么呢?我期待一个类似Name:Andrew Age:20 Mark:55的输出,然后程序不应该退出,只需要请求另一个条目。请通过编辑相同的条目来添加您的问题。非常感谢!!如果此解决方案解决了您的问题,请将其标记为正确的解决方案@azoth