Discuss / Python / 受楼下的启发我也写了一个迷你程序,不过第一次写除了hello world以外的程序遇上的错误贼多。。修改了一个多小时

受楼下的启发我也写了一个迷你程序,不过第一次写除了hello world以外的程序遇上的错误贼多。。修改了一个多小时

Topic source

grade={'他':75,'她':80,'它':90} exit=input('欢迎使用大学成绩登记查询系统!进入系统请按y,请按任意键课退出\n') while exit=='y': menu=['1.录入','2.查询','3.修改','4.学生列表','5.退出'] for features in menu: print(features) ord=int(input('请输入你想要的操作序号:')) if ord==1: user=input('请输入需要录入的姓名:') grade[user]=int(input('请输入成绩:')) print('成绩录入完成,正在返回\n') elif ord==2: user=input('请输入需要查询的学生姓名') if user in grade: print('%s的成绩为:'%user,grade[user]) exit=input('\n查询完毕,输入y继续查询,输入n退出本系统 \n 。') else: print('查无此人,请重新输入') continue if exit=='n': print('已退出系统,欢迎再次使用') else: continue elif ord==3: user=input('请输入需要进行成绩修改的学生姓名') if user in grade: grade[user]=input('请输入正确的成绩') exit=input('修改完毕,输入y继续查询 \n若想退出本系统请按任意键。') if exit=='y': continue else: break else: print('查无此人,请重新修改') continue elif ord==4: for key in grade: print(key) print('\n\n') elif ord==5: print('已退出系统,欢迎再次使用') break else: print('输入错误,请重新输入') continue

看了大家的代码,萌新做了点修改,可以随时返回菜单项。另外输入匹配也做了,就是废话多。文件操作还不会,修改开始的grade为文件读写,会更实用。以后直接文件往cmd里面一扔,就可以实现简单的输入输出了。上菜喽…… grade={'他':75,'她':80,'它':95}#初始化 exit=input(('')10+'欢迎使用学生管理系统!'+('')10+'\n' \ +'进入系统请按y:')#界面提示 menu=['1.录入','2.查询','3.修改','4.学生列表','5.退出'] flag=(exit=='y')#进入系统 while flag: for item in menu: print('\t'+item)#菜单 orderer=input('请输入操作序号:') while orderer=='1': print('开始录入……') user=input('请输入学生姓名:')##姓名可能出错,最好判定下

    ##弄个输入函数,确定输入类型正确,否则像下面多好多代码
    score=input('请输入学生成绩:')##分数可能出错,最好判定下
    while score.isdigit():
        grade[user]=int(score)
        break
    else:
        print('请输入有效的分数!')
        score=input('请重新输入学生成绩:')
        continue
    print('录入完成,继续请按"y",返回菜单按任意键','\n')
    iscontinue=input()#确定是否继续
    if iscontinue=='y':
        pass
    else:
        break
while orderer=='2':
    user=input('请输入要查询的学生姓名:')
    if user not in grade:
        print('查无此人')
        continue
    else:
        print('%s的成绩是:'%user,grade[user])
        print('查询完成,继续请按"y",返回菜单按任意键','\n')
        iscontinue=input()#确定是否继续
        if iscontinue=='y':
            pass
        else:
            break
while orderer=='3':
    user=input('请输入要修改的学生姓名:')
    if user not in grade:
        print('查无此人')
        continue
    else:
        ##分数可能出错,最好判定下
        #开始的grade直接写成文件读取,此处即可保存
        #否则每次退出数据还原
        grade[user]=int(input('请输入要修改的分数:'))
        print('修改完成,继续请按"y",返回菜单按任意键','\n')
        iscontinue=input()#确定是否继续
        if iscontinue=='y':
            pass
        else:
            break
while orderer=='4':
    for key in grade:
        print(key,grade[key])
    print('\n')
    print('显示完成,返回菜单按"y"','\n')
    iscontinue=input()#返回
    if iscontinue=='y':
        break
    else:
        print('显示已完成,请重新选择菜单')
        break
while orderer=='5':
    print('您选择退出系统,欢迎再次使用!')
    flag=False
    break
if flag==False:#选择5退出后,退出外循环
    break    
if orderer not in ['1','2','3','4','5']:#菜单选择错误,重选
    print('error order!')
    continue

else:##未选择Y直接退出 print('您没有选择进入系统,谢谢使用。')

感谢楼上,想法很有建议性。


  • 1

Reply