跳至正文
View Categories

< 1 min read

主要内容 #

综合实战:使用python编写学生信息管理系统

7.字符颜色的控制 #

许多同学会见到\033[31m开头的字符串,其实是控制台通过转义字符显示不同字体的颜色,常见形式:\033[显示方式;前景色(字体颜色);背景色m + ‘打印内容’ +\033[0m,对于结尾部分可以省略。 值得一提的是,该颜色控制与具体编程语言无关(通过python shell窗口实现需加入from colorama import init;init(autoreset=True)),以下示例展示了常见的控制格式
print(' hello') # 默认字体正常显示,不高亮
print('\033[31m hello\033[0m') #红色字体正常显示
print('\033[1;31m hello')#显示方式: 高亮 字体颜色:红色
print('\033[1;31;46m hello \033[0m')#显示方式: 高亮 字体颜色:红色 背景色:青色

8.学生信息的排序 #

以下示例定义了seq()成绩排序的功能,同时调用seq()函数进行验证,在使用sorted()函数排序时使用了lambda关键字,在第88课有详细讲解,本课仅供了解(这里x表示stu列表的基本元素即字典)
stu=[{'id':'001',"name": '李明', "English": 97, "python": 100},
     {'id':'002',"name": '王晓东', "English": 91, "python": 89},
     {'id':'003',"name": '杨雪', "English": 98, "python": 92},
     {'id':'004',"name": '冯小乐', "English": 87, "python": 98},
     {'id':'005',"name": '刘前进', "English": 84, "python": 92},
     ]#建立一个保存学生信息的列表
def seq():#按成绩排序
    mark=input("输入\033[1;31m '0' \033[0m(python)或\033[1;31m '1' \033[0m(英语)进行排序:")#1和0红色高亮显示
    if mark=='0':
        stu1 = sorted(stu, key=lambda x: x['python'], reverse=True)#sorted()函数的排序功能,按字典中的python成绩排序
        for i in stu1:#逐行打印,验证seq()排序功能
            print(i)
    elif mark=='1':
        stu1 = sorted(stu, key=lambda x: x['English'], reverse=True)#sorted()函数排序功能,按字典中的英语成绩排序
        for i in stu1:
            print(i)
    else:
        print('输入有误!')
seq()#调用函数

习题 #

  • seq()函数定义中,使用了sorted()函数对列表stu进行了排序。请不使用sorted()函数,按照自己的方法,对stu列表进行成绩排序;使用此方法重新定义seq()函数,并调用该函数进行功能验证
  • OJ训练题 #

    1、【例23.3】 简单计算器 – ★
    2、【入门】求满足条件的整数个数 – ★
    3、【入门】编程求1*2*3*…*n – ★
    4、【例35.2】 角谷猜想 – ★★
    5、【基础】回文数个数 – ★★★