上篇python基础语法很OK?做几题测试一下有些朋友留言说很简单,对于那些python掌握的还不错的人来说,可能确实非常简单。
如果你只是刚学完这些基础语法,能够很顺利的完成,那说明你已经掌握的很不错了,至少这些内容非常熟练了,更多细致的内容可以实践中填充。
掌握3大结构,运算符,基础数据类型的知识后,只要在掌握常用的数据结构及其方法,函数,其实已经可以解决你碰到的很多问题了。
接下来可以尝试找一些具体的应用方向学习一下,比如图像处理,文档处理,数据分析,爬虫,GUI,web等等,因为当前的知识已经足够用了。如果你是走更专业的方向,那python后面更高级的知识,类,魔法函数,装饰器,闭包,高级函数等什么的可以根据需要再去具体学习了。
今天我找了一些题目,不知道自己学的怎样的,可以试试,看看这些常用的数据结构是否熟练,能否将其应用到实际问题中去。(有些问题如果没有接触过算法,可能会觉得比较难,但是也不要被吓到,你能够解出来,说明你已经掌握类似的算法,只不过专门学习过,可以让你一眼看出这题需要用到什么算法或者解决问题的模式。)
key = ['中国', '韩国', '日本', '泰国', '马来西亚', '越南', '朝鲜', '印度']
value = ['北京', '首尔', '东京', '曼谷', '吉隆坡', '河内', '平壤', '新德里']
结果:
{'中国': '北京', '韩国': '首尔', '日本': '东京', '泰国': '曼谷', '马来西亚': '吉隆坡', '越南': '河内', '朝鲜': '平壤', '印度': '新德里'}
将以下列表里面的重复元素给去除。
s_list = ["A","B","A","C","D","D"]
结果:
s_list = ["A","B","D","C"]
找出下列字典中的最高分。
student = {"A":55, "B":63, "C":23, "D":84, "E":45, "F":68}
结果:
最高分D,分数为84
求出每个学生的总分
# 语数英
student_score_dict={
"小明":[98,77,84],
"小红":[84,88,79],
"小王":[88,81,92],
"小可":[67,95,92],
"花生":[98,77,85],
"大树":[79,88,99],
}
结果:
{'小明': 259, '小红': 251, '小王': 261, '小可': 254, '花生': 260, '大树': 266}
班级所有学生名单
["靳玉", "张萍", "李秀英", "王倩", "秦强", "梅建", "张丽丽", "雷春梅", "汪娜", "陈宁", "陈金凤", "余静", "张雷", "龙艳", "华勇", "林华", "岳玲", "秦浩", "邬秀荣", "罗淑珍", "袁荣", "梁冬梅", "陈明", "包玉英", "董洁", "范健", "徐健", "邱兵", "雷飞", "杨建华", "王琴", "温淑华", "任欢", "杨明", "蔡桂芝", "孙瑜", "孟鑫", "罗兰英", "关伟", "高玉珍", "龙波", "陈俊", "陈静", "徐秀芳", "沙秀珍", "周桂花", "朱欣", "刘荣", "王军", "李斌"]
班级提交了信息的学生列表名单。
[["李秀英", "福建省", "18812860839"], ["邬秀荣", "四川省", "15653749029"], ["王军", "澳门特别行政区", "18682361681"], ["李斌", "北京市", "14506994036"], ["张萍", "澳门特别行政区", "18703422497"], ["高玉珍", "香港特别行政区", "13553639707"], ["杨明", "云南省", "15176730307"], ["沙秀珍", "台湾省", "13276705609"], ["孟鑫", "重庆市", "14586299469"], ["岳玲", "江苏省", "13742368530"], ["秦浩", "重庆市", "13951428965"], ["秦强", "内蒙古自治区", "15356219495"], ["汪娜", "山东省", "15699798527"], ["余静", "辽宁省", "18903475162"], ["董洁", "广东省", "15902662055"], ["陈俊", "重庆市", "15132696349"], ["杨建华", "江西省", "18239322625"], ["罗兰英", "贵州省", "13329166578"], ["关伟", "湖南省", "14552080038"], ["邱兵", "上海市", "14512037801"], ["范健", "吉林省", "15399261142"], ["张雷", "辽宁省", "13535118601"], ["罗淑珍", "湖北省", "18259920230"], ["包玉英", "辽宁省", "13832099022"], ["龙波", "内蒙古自治区", "13344206866"], ["温淑华", "辽宁省", "13293590565"], ["徐健", "青海省", "13110306006"], ["龙艳", "西藏自治区", "18563449049"], ["陈金凤", "重庆市", "18836274687"], ["徐秀芳", "内蒙古自治区", "13549606756"], ["袁荣", "青海省", "15531144025"], ["朱欣", "江西省", "18288355454"], ["靳玉", "四川省", "13661505418"], ["雷飞", "上海市", "14753275262"], ["陈静", "黑龙江省", "15950186557"], ["孙瑜", "青海省", "13888636867"], ["陈宁", "山西省", "15778087746"], ["梅建", "江苏省", "13340383041"], ["张丽丽", "贵州省", "13152183610"]]
结果:
a = [2,5,6,7,9,1,5]
结果:
a = [1,2,5,5,6,7,9]
玩游戏gameover后,游戏总会弹出当前的游戏排名,假设现在有10个人玩完游戏了,用户名和得分保存在如下字典中。
{"a": 6, "b": 2, "c": 2, "d": 5, "e": 3, "f": 8, "g": 9, "h": 9, "i": 4, "j": 10}
要求输出如下结果,将前8名,从高到低输出。
24点游戏中,随机出现4个数,通过运算符判断能否组成24?
比如下面4个数字:
可能答案:
['((12+4)/4)*6', '(12+4)/(4/6)', '((12-4)-4)*6', '(12*4)-(4*6)', '((12+4)*6)/4', '(12+4)*(6/4)', '(12*4)-(6*4)', '(12*4)/(6-4)', '((12+4)/4)*6', '(12+4)/(4/6)', '((12-4)-4)*6', '(12*4)-(4*6)', '((12+4)*6)/4', '(12+4)*(6/4)', '(12*4)-(6*4)', '(12*4)/(6-4)', '((12/6)+4)*4', '((12/6)+4)*4', '((4+12)/4)*6', '(4+12)/(4/6)', '(4*12)-(4*6)', '((4+12)*6)/4', '(4+12)*(6/4)', '(4*12)-(6*4)', '(4*12)/(6-4)', '((4*4)-12)*6', '((4+4)-6)*12', '((4-6)+4)*12', '((4+12)/4)*6', '(4+12)/(4/6)', '(4*12)-(4*6)', '((4+12)*6)/4', '(4+12)*(6/4)', '(4*12)-(6*4)', '(4*12)/(6-4)', '((4*4)-12)*6', '((4+4)-6)*12', '((4-6)+4)*12', '(6/4)*(12+4)', '(6/4)*(4+12)', '(6/4)*(12+4)', '(6/4)*(4+12)']
另外4个数字:
可能答案:
['((11-5)*2)+12']
有一个数a假设为135,另外有一个数组b=[111,136,99,55],从b中找出与a最接近的一个数字。
结果:136
实际应用,给定一个随机RGB数组(113,220,115),但是并不知道具体的颜色名称,而实际的积木图片是有限的,如何在积木图片中找到一个颜色最接近的图片去替换原来的像素点。
100个人围一圈编号1-100,依次开始报数,
从1开始,报到3的退出,然后继续从1开始,报到3退出,直到最后只有2个人,得到编号 58, 91
从1开始,报到4的退出,然后继续从1开始,报到4退出,直到最后只有3个人,得到编号 34, 45, 97
实现效果:
输入:3
输出:58,91
输入:4
输出:34, 45, 97
以上题目主要测试自己学习的效果如何,参考即可。