2016-12-08 7 views
0
import Course 
import Person 
import Student 


CREATE = 1 
ADD_STUDENTS = 2 
COURSE_INFO = 3 
ADD_SCORES = 4 
QUIT = 5 


def main(): 

    choice = 0 

    while choice != QUIT: 
    choice = get_menu_choice() 

    if choice == CREATE: 
     add_Course() 
    elif choice == ADD_STUDENTS: 
     add_Student() 
    elif choice == COURSE_INFO: 
     view_Course() 
    elif choice == ADD_SCORES: 
     add_Scores() 
    elif choice == QUIT: 
     quit() 



def get_menu_choice(): 
    print() 
    print(" Welcome to CourseAware's Faculty Menu") 
    print('---------------------------') 
    print('1. Create Course ') 
    print('2. Add Students to a Course') 
    print('3. View Course Information') 
    print('4. Add Test scores to a Course') 
    print('5. Exit') 
    print() 

choice = int(input('Enter your choice: ')) 

while choice < CREATE or choice > QUIT: 
    choice = int(input('Enter a valid choice: ')) 

return choice 

この領域に問題があります。私は、コースを作成するようにユーザーに求めています。情報を追加したら、オプション3に送信して表示します。範囲外のPythonプリント?

デフadd_Course():ユーザーが新しいコースをcrated、そして彼は、私はそれがadd_Courseオプションに入力された情報を印刷することを表示することを選択したので、一度

name = input("Enter course name: ") 
    number = input("Enter course number: ") 
    units = input("Enter courses units: ") 
    instructor = input("Enter courses Instructor: ") 
    myCourse = Course.Course(name,number,units,instructor) 

    print("Courses' Name: ",myCourse.getName()) 
    print("Courses' Number: ",myCourse.getNumber()) 
    print("Courses' Units: ",myCourse.getUnits()) 
    print("Courses' Instructor: ",myCourse.getInstructor()) 
    print("Course Added!") 
    return myCourse 

def add_Student(): 
    Name = input("Enter First and Last Name of Sudent: ") 
    Status = input("Enter Status of Stdent: ") 
    GPA = input("Enter Students GPA: ") 
    newStudent = Student.Student(Name, Status, GPA) 

    print("Student' First Name: ",newStudent.getName()) 
    print("Student' Status: ",newStudent.getStatus()) 
    print("Student' Instructor: ",newStudent.getGPA()) 


    infile = open('student.txt','a') 
    infile.write('\n') 
    infile.write(newStudent) 

。 DEF view_Course():

print("Courses' Name: ",myCourse.getName()) 
    print("Courses' Number: ",myCourse.getNumber()) 
    print("Courses' Units: ",myCourse.getUnits()) 
    print("Courses' Instructor: ",myCourse.getInstructor()) 

メイン()

おかげで任意のフィードバックを歓迎しています!

+3

IDを修復する –

+1

まず、インデントを修正してください。第二に、第二版ではどこから来ると期待していますか? –

+1

まずはインデントを修正する必要があります。 –

答えて

0

2番目の例では、myCourseを宣言しません。

myCourse = Course.Course(name,number,units,instructor) 

がありません。

0

すべての関数には独自の名前空間があります。関数内に変数を作成すると、関数が返るまで関数が有効になり、関数内でのみアクセス可能になります。

問題を解決するには、最初の関数を呼び出して戻り値を取得する必要があります。次に、その値で2番目の関数を呼び出します。

def add_Course(): 

    name = input("Enter course name: ") 
    number = input("Enter course number: ") 
    units = input("Enter courses units: ") 
    instructor = input("Enter courses Instructor: ") 
    myCourse = Course.Course(name,number,units,instructor) 

    print("Courses' Name: ",myCourse.getName()) 
    print("Courses' Number: ",myCourse.getNumber()) 
    print("Courses' Units: ",myCourse.getUnits()) 
    print("Courses' Instructor: ",myCourse.getInstructor()) 
    print("Course Added!") 
    return myCourse 

def view_Course(myCourse): 

    print("Courses' Name: ",myCourse.getName()) 
    print("Courses' Number: ",myCourse.getNumber()) 
    print("Courses' Units: ",myCourse.getUnits()) 
    print("Courses' Instructor: ",myCourse.getInstructor()) 

course = add_Course() 
view_Course(course) 
+0

残りのコードを追加しました。私はあなたのアドバイスをするときに、コース情報を求めるプロンプトを出します。ユーザーがそのオプションを選択したときにのみ表示したいと思います。 – Supreme

+0

それは別の問題で、別の質問であるはずです。 –

+0

ああ申し訳ありません私は新しい質問をさせてください。 – Supreme

関連する問題