• Python字典练习_字典的查询与添加


    写一个学生作业情况查询录入的小程序

    1、查看学生作业情况:字典查询

    2、录入学生作业情况:字典添加

    3、录入时允许输入3次,3次输入不正确提示失败次数过多:循环

    4、录入需要判断为空情况:strip()

    homeworks = {
            'Amy':{'2018.3.22':'未交','2018.3.23':'已交'},
            'Lily':{'2018.3.22':'未交','2018.3.23':'未交'},
            }
    chioce = {'1':'查询','2':'录入'} #定义字典,可以避免输入‘0’或‘1’以外的选择时报错
    #user_chioce input是字符串,如果用int转化非数字的字符串会报错,所以将key定义为字符串‘1’,而非数字1
    user_chioce = input('请输入您的选择:1为查询学生作业情况,2为录入学生作业情况').strip()
    if chioce.get(user_chioce) == '查询': #用get方法,输入key不在字典中不会报错。用chioce[user_choice],输入key不在字典中会报错
        name = input('请输入要查询的学生姓名').strip()
        if name == '':
            print('查询学生姓名不能为空')
        elif name in homeworks: #判断key是否在字典中存在
            print('%s的作业情况是%s'%(name,homeworks[name]))#字典查询
        else:
            print('查询学生不存在')
    elif chioce.get(user_chioce) == '录入':
        state = {'0':'未交','1':'已交'} #定义字典,可以避免输入‘0’或‘1’以外的选择时报错
        #放在循坏外,避免多次初始化,优化性能
        for i in range(3):
            enter_name = input('请输入要录入的学生姓名').strip()
            enter_date = input('请输入要录入学生作业的日期').strip()
            enter_state = input('请输入学生作业状态:0为未交,1为已交').strip()
            if state.get(enter_state):  #只要有状态就可以,不需要判断状态等于‘已交’或‘未交’
                if enter_name == '' or enter_date == '':
                    print('学生姓名及作业日期不能为空')
                else:
                    if enter_name in homeworks:
                        homeworks[enter_name].update({enter_date:state[enter_state]})#学生已存在,更新子字典
                    else:
                        homeworks[enter_name] = {enter_date:state[enter_state]}#学生不存在,直接添加新k-v
                    print('%s的作业情况是%s'%(enter_name,homeworks[enter_name]))
                    print('所有学生作业情况为%s' % homeworks)
                    break
            else:
                print('输入学生状态有误')
    else:
        print('选择输入有误')
  • 相关阅读:
    Solr简介
    儿童节快乐
    添加新的内容分类
    weka
    Junit测试样例
    Linux MySQL单实例源码编译安装5.5.32
    perconatoolkit 工具集安装
    Linux MySQL单实例源码编译安装5.6
    MySQL 开机自启动
    mysql5.6之前需要账号的安全加固
  • 原文地址:https://www.cnblogs.com/dongrui624/p/8677811.html
Copyright © 2020-2023  润新知