1. 程式人生 > >自制簡單選課系統模擬代碼

自制簡單選課系統模擬代碼

choosing 最終 eat ssm clas pen mon brush 錯誤

import pickle
import hashlib
import time

def creat_md5():
    m = hashlib.md5()
    m.update(str(time.time()).encode(‘utf-8‘) )
    return m.hexdigest()
file_id = creat_md5()

def save(end_info):
    with open(file_id,‘wb‘) as f:
        data = pickle.dumps(end_info)
        f.write(data)

class School:
    def __init__(self,addr,name):
        self.addr = addr
        self.name = name
    @classmethod
    def kai_chang_bai(cls):
        print(‘*‘ * 30)
        print(‘--->選課開始‘)
        print(‘下面是校區信息:‘)
        print(msg_school)
    @classmethod
    def school_choosing(cls):
        print(‘-‘ * 30)
        print(‘您選擇的學校是 %s 校區的 %s‘ % (sch_s1s2[sch].addr, sch_s1s2[sch].name))
        print(‘-‘ * 30)
        print(‘%s校區的課程有:‘ % sch_s1s2[sch].addr)

class Course:
    def __init__(self,name,period,price,school):
        self.name = name
        self.period = period
        self.price = price
        self.school = school
    @classmethod
    def course_teacher_info(cls):
        print(‘-‘ * 30)
        print(‘您選擇的課程是%s,價格%s,時期%s,該課程屬於%s校區‘ % (
        msg_course[course].name, msg_course[course].price, msg_course[course].period, msg_course[course].school.addr))
        print(‘-‘ * 30)
        print(‘請選擇該課程的老師-->‘)
        print(course_teacher_info[course])

class Teacher:
    def __init__(self,name,age,sex,course,school):
        self.name = name
        self.age = age
        self.sex = sex
        self.course = course
        self.school = school

msg_school = "‘1‘:‘北京odlboy學校‘,\n‘2‘:‘上海oldboy學校‘"
msg_course_beijing = "‘1‘:‘課程:python‘,\n‘2‘:‘課程:linux‘."
msg_course_shagnhai = "‘3‘:‘課程:go;地址:上海‘"
msg_teacher_python = "‘1‘:‘name:a; age:25; sex:female; course:python; addr:beijing‘,\n‘2‘:‘name:b; age:30; "                      "sex:male; course:python; addr:beijing‘"
msg_teacher_linux = "‘3‘:‘name:c; age:40; sex:female; course:linux; addr:beijing‘,\n‘4‘:‘name:d; age:35; "                     "sex:male; course:linux; addr:beijing‘"
msg_teacher_go = "‘5‘:‘name:e; age:40; sex:female; course:go; addr:shanghai‘,\n‘6‘:‘name:f; age:35; "                  "sex:male; course:go; addr:shanghai‘"

course_info = {
    ‘1‘: msg_course_beijing,
    ‘2‘: msg_course_shagnhai
}

course_teacher_info = {
    ‘1‘: msg_teacher_python,
    ‘2‘: msg_teacher_linux,
    ‘3‘: msg_teacher_go
}

s1 = School(‘北京‘,‘oldboy學校‘)
s2 = School(‘上海‘,‘oldboy學校‘)

sch_s1s2 = {
    ‘1‘:s1,
    ‘2‘:s2
}

t1 = Course(‘python‘,‘5months‘,‘3000yuan‘,s1)
t2 = Course(‘linux‘,‘1month‘,‘1000yuan‘,s1)
t3 = Course(‘go‘,‘5months‘,‘2500yuan‘,s2)

msg_course = {
    ‘1‘:t1,
    ‘2‘:t2,
    ‘3‘:t3
}

msg_course_teacher = {
    ‘a‘:t1,
    ‘b‘:t1,
    ‘c‘:t2,
    ‘d‘:t2,
    ‘e‘:t3,
    ‘f‘:t3
}

tag = True
while tag:
    School.kai_chang_bai()
    sch = input(‘請選擇校區‘)
    if sch == ‘1‘:
        while tag:
            School.school_choosing()
            print(course_info[sch])
            course = input(‘請選擇你想要學習的課程:‘)
            if course == ‘1‘:
                while tag:
                    Course.course_teacher_info()
                    tch = input(‘請輸入老師的名字,字母不區分大小寫‘)
                    if tch.lower() == ‘a‘:
                        print(‘-‘ * 30)
                        end_info = ‘您選擇的課程是%s,價格%s,時期%s,該課程屬於%s校區的%s老師‘                                    % (msg_course[course].name, msg_course[course].price, msg_course[course].period,
                                      msg_course_teacher[tch.lower()].school.addr, tch.lower())
                        print(end_info)
                        save(end_info)
                        print(‘-‘ * 30)
                        tag = False
                        break
                    if tch.lower() == ‘b‘:
                        print(‘-‘ * 30)
                        end_info = ‘您選擇的課程是%s,價格%s,時期%s,該課程屬於%s校區的%s老師‘                                    % (msg_course[course].name, msg_course[course].price, msg_course[course].period,
                                      msg_course_teacher[tch.lower()].school.addr, tch.lower())
                        print(end_info)
                        save(end_info)
                        print(‘-‘ * 30)
                        tag = False
                        break
                    else:
                        print(‘輸入錯誤,沒有該老師,請重新輸入‘)
                        continue
                break
            if course == ‘2‘:
                while tag:
                    Course.course_teacher_info()
                    tch = input(‘請輸入老師的名字,字母不區分大小寫‘)
                    if tch.lower() == ‘c‘:
                        print(‘-‘ * 30)
                        end_info = ‘您選擇的課程是%s,價格%s,時期%s,該課程屬於%s校區的%s老師‘                                    % (msg_course[course].name, msg_course[course].price, msg_course[course].period,
                                      msg_course_teacher[tch.lower()].school.addr, tch.lower())
                        print(end_info)
                        save(end_info)
                        print(‘-‘ * 30)
                        tag = False
                        break
                    if tch.lower() == ‘d‘:
                        print(‘-‘ * 30)
                        end_info = ‘您選擇的課程是%s,價格%s,時期%s,該課程屬於%s校區的%s老師‘                                    % (msg_course[course].name, msg_course[course].price, msg_course[course].period,
                                      msg_course_teacher[tch.lower()].school.addr, tch.lower())
                        print(end_info)
                        save(end_info)
                        print(‘-‘ * 30)
                        tag = False
                        break
                    else:
                        print(‘輸入錯誤,沒有該老師,請重新輸入‘)
                        continue
            else:
                print(‘輸入錯誤,沒有該課程,請重新輸入‘)
                continue
        break
    if sch == ‘2‘:
        while tag:
            School.school_choosing()
            print(course_info[sch])
            course = input(‘請選擇你想要學習的課程:‘)
            if course == ‘3‘:
                while tag:
                    print(‘-‘ * 30)
                    print(‘您選擇的課程是%s,價格%s,時期%s,該課程屬於%s校區‘ % (msg_course[course].name, msg_course[course].price, msg_course[course].period, msg_course[course].school.addr))
                    print(‘-‘ * 30)
                    print(‘請選擇該課程的老師-->‘)
                    print(course_teacher_info[course])
                    tch = input(‘請輸入老師的名字,字母不區分大小寫‘)
                    if tch.lower() == ‘e‘:
                        print(‘-‘ * 30)
                        end_info = ‘您選擇的課程是%s,價格%s,時期%s,該課程屬於%s校區的%s老師‘                                    % (msg_course[course].name, msg_course[course].price, msg_course[course].period,
                                      msg_course_teacher[tch.lower()].school.addr, tch.lower())
                        print(end_info)
                        save(end_info)
                        print(‘-‘ * 30)
                        tag = False
                        break
                    if tch.lower() == ‘f‘:
                        print(‘-‘ * 30)
                        end_info = ‘您選擇的課程是%s,價格%s,時期%s,該課程屬於%s校區的%s老師‘                                    % (msg_course[course].name, msg_course[course].price, msg_course[course].period,
                                      msg_course_teacher[tch.lower()].school.addr, tch.lower())
                        print(end_info)
                        save(end_info)
                        print(‘-‘ * 30)
                        tag = False
                        break
                    else:
                        print(‘輸入錯誤,沒有該老師,請重新輸入‘)
                        continue
                break
            else:
                print(‘輸入錯誤,沒有該課程,請重新輸入‘)
                continue
        break
    else:
        print(‘輸入錯誤,請重新輸入!‘)
        continue

print(‘您的最終信息‘)
with open(file_id,‘rb‘) as file:
    d = pickle.loads(file.read())
    print(d)

  

自制簡單選課系統模擬代碼