1

まず、Pythonは初めてなので、気楽に行ってください...次に、フォーラムを使用したことがないので、コードを貼り付けすぎたり、必要なものを正確に提供しなかったりした場合は、ご容赦ください。一番:

コードに必要なこと:

moduleNameという入力をユーザーに要求するコードが必要です。次に、moduleNameを入力した後、その特定のモジュールのグレードをユーザーに要求する必要があります。それが入力された後、ユーザーがモジュールビットに-1を入力して終了する場所を入力する必要がなくなるまで、モジュールとグレードを再度要求する必要があります。また、作成したグローバルリストに保存するために各アイテムが必要です。したがって、リストを表示するために作成した関数を使用すると、すべてのモジュールとグレードが出力されます。

MY CODE THUS FAR:(私のグローバルリストはstudents[]という名前のコードの一番上にあります)

def addStudent():
    print 
    print "Adding student..."
    student = Student()
    firstName = raw_input("Please enter the student's first name: ")
    lastName = raw_input("Please enter the student's last name: ")
    degree = raw_input("Please enter the name of the degree the student is studying: ")
    studentid = raw_input("Please enter the students ID number: ")
    age = raw_input("Please enter the students Age: ")
    **moduleName= 0
    while moduleName != "-1":
        moduleName = raw_input("Please enter module name: ")
        grade = raw_input ("Please enter students grade for " + moduleName+": ")
    students.append(student)**


    student.setFirstName(firstName) # Set this student's first name
    student.setLastName(lastName)
    student.setDegree(degree)# Set this student's last name
    student.setGrade(grade)
    student.setModuleName(moduleName)
    student.setStudentID(studentid)
    student.setAge(age)


    print "The student",firstName+' '+lastName,"ID number",studentid,"has been added to the system."

私が得る出力:

ループが正しく壊れるように修正しました...唯一の問題は、moduleNameフィールドとgradeフィールドがグローバルリストに保存されますが、入力された複数の入力ではなく、最後の入力(-1)のみが保存されることです。 .. 混乱している。問題は、私が作成したこの関数にもある可能性があります。

def viewStudent():
    print "Printing all students in database : "

    for person in students:
            print "Printing details for: " + person.getFirstName()+" "+ person.getLastName()
            print "Age: " + person.getAge()
            print "Student ID: " + person.getStudentID()
            print "Degree: " + person.getDegree()
            print "Module: " + person.getModuleName()
            print "Grades: " + person.getGrade()

繰り返しになりますが、フォーラムなどで何が必要かわからないので、気楽に行ってください...よろしくお願いします!= D

4

1 に答える 1

2

while moduleName != "-1":ループをループに置き換えることをお勧めしwhile True:ます。モジュール名を尋ねた後、次のコードを挿入します。

if moduleName == '-1':
    break

これは、必要なときにwhileループから抜け出します。

2番目の質問に対処すると、append関数はループelse全体の一部になります。whileこれは、関数が壊れたときにのみ機能することを意味します。while入力を取得した後、これをメインループに配置し、を削除する必要がありますelse

また、どこにも定義されていませんstudent-それはどういう意味ですか?

必要なコードは次のとおりです。

while True:
    moduleName = raw_input("Please enter module name: ")
    if moduleName == '-1':
        break
    grade = raw_input("Please enter students grade for " + moduleName+": ")
    students.append(student)
于 2013-01-03T09:36:26.627 に答える