设为首页 加入收藏

TOP

Python之for循环的使用(一)
2018-05-21 15:49:46 】 浏览:717
Tags:Python for 循环 使用

最近在学Python,尝试着用for和while循环做一个简单的学生管理系统,现在遇到的问题是没法限定输入的数据类型和从for循环中跳出


  第一个限定是:如果没有没有输入整数,程序直接报错,在其中使用了转换,代码18行


  第二个跳出for循环:目的是要对录入的信息进行一个初步的判断,确保关键信息不重复


这个管理系统,涉及的到就是先定义字典grade,再将字典grade使用append()函数添加到列表student,然后通过for循环遍历数组,将


字典取出来sname,最后对比输入的名字和字典sname中“姓名”键(key)对应的值(value),这样就做到了数据的匹配查询


'''如果是将这个系统改成绩查询的,又该怎么做,字典的话如何进行叠加'''


            #定义信息列表


print('欢迎进入学生成绩管理系统!\n\t************\n请查看你能进行的操作\n\t************')
menu = ('1.录入','2.查询','3.修改','4.删除','5.预览','6.退出')
orderid = (1,2,3,4,5,6)    #操作的步骤选择
student = []
a = 1
m = 0
n = 0
while a == 1:                        #目的是使操作一直在使用,循环,最后不操作退出
    for opration in menu:
        print(opration)
    order = input('请输入序号,进行你想要的操作:')
    '''while True:
        order = input('请输入序号,进行你想要的操作:')
        try:
            order = int(order)
            break
        except:
            print("pls enter number")
            continue'''
    #order = input('请输入序号,进行你想要的操作:')#限制输入的数据类型
    if order.isdigit():
        order = int(order)
    else:
        print('请输入正确的数字')
        continue


    if int(order) in orderid:


        while int(order) == 1:
            valid = 0
            while not valid:
                valid = 1
                name = input('请输入学生的姓名:')# 数据录入#需要解决重复录入的问题
                for stu_name in student:
                    if name == stu_name['姓名']:
                        stu_id = input('该学生已经录入信息,请确认是否重复录入,并比较学号')
                        if stu_id == stu_name['学号']:
                            print('重复录入!请录入下一个')
                            valid = 0
                        break


            print('请继续接下来的信息录入!')


            id = input('请输入学生号:')
            classid = input('请输入学生的班级:')
            Chinese = float(input('请输入语文成绩:'))
            Math = float(input('请输入数学成绩:'))
            English = float(input('请输入英语成绩:'))
            Physical = float(input('请输入物理成绩:'))
            Chemistry = float(input('请输入化学成绩:'))
            Biological = float(input('请输入生物成绩:'))
            Score = round((Chinese * 3 + Math * 3 + English * 3 + Physical * 2 + Chemistry * 2 + Biological * 2) / 15,2)


           

首页 上一页 1 2 3 4 5 下一页 尾页 1/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Python 的* 和** 关于参数解包和.. 下一篇Python多线程机制深入理解

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目