前言
- 本期是Python从0到入门3|循环、条件复习、元组入门、字典入门,有不懂的地方可以评论进行讨论!
接下来我将继续更新Python刷题系列、数据库从0到入门刷题系列等等。
本系列文章采用牛客的核心代码模式进行案例代码提供,帮助大家从0到入门的学习过程中进行配套的刷题~
推荐给大家一款刷题、面试的神器,我也是用这一款神器进行学习的!~链接如下:刷题神器跳转链接
该神器不仅网页界面十分美观,而且操作起来极易上手入门!非常适合新手进行系统性的学习!
小白新手可以通过该神器进行日常的刷题、看大厂面经、学习计算机基础知识、与大牛面对面沟通~ 刷题的图片已经放在下面了~
Q1:团队分组
问题描述:创建一个列表group_list,其中依次包含字符串 ‘Tom’, ‘Allen’, ‘Jane’, ‘William’, ‘Tony’ 表示这个小组成员的名字。现有三项任务需要他们去完成,根据不同任务的繁琐度和实际情况需要分别派2人、3人、2人来完成,他们决定通过对列表分片来分配任务。
使用print()语句和切片来打印列表group_list的前两个元素表示去做第一个任务的人的名字,
再使用print()语句和切片来打印列表group_list的中间三个元素表示去做第二个任务的人的名字,
再使用print()语句和切片来打印列表group_list的后两个元素表示去做第三个任务的人的名字。
输出描述:
按照题意输出 ['Tom', 'Allen'] ['Allen', 'Jane', 'William'] ['William', 'Tony']
案例代码:
group_list=[ 'Tom', 'Allen', 'Jane', 'William', 'Tony' ] print(group_list[0:2]) print(group_list[1:4]) print(group_list[-2:])
Q2:禁止重复注册
问题描述:
创建一个依次包含字符串’Niuniu’、‘Niumei’、‘GURR’和’LOLO’的列表current_users,再创建一个依次包含字符串’GurR’、‘Niu Ke Le’、'LoLo’和’Tuo Rui Chi’的列表new_users,使用for循环遍历new_users,如果遍历到的新用户名在current_users中,则使用print()语句一行输出类似字符串’The user name GurR has already been registered! Please change it and try again!'的语句,否则使用print()语句一行输出类似字符串’Congratulations, the user name Niu Ke Le is available!'的语句。(注:用户名的比较不区分大小写)
输出描述:按题目描述进行输出即可。
案例代码:
current_users = ['Niuniu','Niumei','GURR','LOLO'] new_users = ['GurR','Niu Ke Le','LoLo','Tuo Rui Chi'] current_users_up = [i.upper() for i in current_users] for i in new_users: if i.upper() in current_users_up: print('The user name {} has already been registered! Please change it and try again!'.format(i)) else: print('Congratulations, the user name {} is available!'.format(i))
Q3:元组-牛客运动会
问题描述:
请创建一个依次包含字符串’Tom’和’Andy’的元组my_tuple,先使用print()语句一行打印字符串’Here is the original tuple:‘,再使用for循环将元组my_tuple的内容打印出来;请使用try-except代码块执行语句my_tuple[1] = ‘Allen’,若引发TypeError错误,先输出一个换行,再使用print()语句一行打印字符串"my_tuple[1] = ‘Allen’ cause cause a TypeError: ‘tuple’ object does not support item assignment";再重新对my_tuple赋值一个新元组,新元组依次由字符串’Tom’和’Allen’构成。输出一个换行,先使用print()语句一行打印字符串’The tuple was changed to:’,再使用for循环将元组my_tuple的内容打印出来,确定修改无误。
输出描述:
按题目描述进行输出即可(注意前后两个输出部分需以一个空行进行分隔)。
案例代码:
my_tuple = ('Tom','Andy') print('Here is the original tuple:') for i in my_tuple: print(i) try: my_tuple[1] = 'Allen' except: print() print("my_tuple[1] = 'Allen' cause a TypeError: 'tuple' object does not support item assignment") my_tuple = ('Tom','Allen') print() print('my_tuple was changed to:') for i in my_tuple: print(i)
Q4:字典-遍历字典
问题描述:
创建一个依次包含键-值对’<‘: ‘less than’和’==’: ‘equal’的字典operators_dict,先使用print()语句一行打印字符串’Here is the original dict:’,
再使用for循环遍历 已使用sorted()函数按升序进行临时排序的包含字典operators_dict的所有键的列表,使用print()语句一行输出类似字符串’Operator < means less than.‘的语句;对字典operators_dict增加键-值对’>': ‘greater than’后,输出一个换行,再使用print()语句一行打印字符串’The dict was changed to:’,再次使用for循环遍历 已使用sorted()函数按升序进行临时排序的包含字典operators_dict的所有键的列表,使用print()语句一行输出类似字符串’Operator < means less than.'的语句,确认字典operators_dict确实新增了一对键-值对。
输出描述:按题目描述进行输出即可(注意前后两个输出部分需以一个空行进行分隔)。
案例代码:
operators_dict={'<':'less than','==':'equal'} print('Here is the original dict:') for k,v in sorted(operators_dict.items()): print(f'Operators {k} means {v}') operators_dict['>']='greater than' print() print('The dict was changed to:') for k,v in sorted(operators_dict.items()): print(f'Operators {k} means {v}')
Q5:字典-毕业生就业调查
问题描述:
又到了毕业季,牛牛作为牛客大学的学生会主席,决定对本校的应届毕业生进行就业调查。他创建了一个依次包含字符串’Niumei’、‘Niu Ke Le’、‘GURR’和’LOLO’的列表survey_list,作为调查名单;又创建了一个依次包含键-值对’Niumei’: ‘Nowcoder’和’GURR’: 'HUAWEI’的字典result_dict,作为已记录的调查结果。请遍历列表survey_list,如果遍历到的名字已出现在 包含字典result_dict的全部键的列表 里,
则使用print()语句一行输出类似字符串’Hi, Niumei! Thank you for participating in our graduation survey!'的语句以表达感谢,否则使用print()语句一行输出类似字符串’Hi, Niu Ke Le! Could you take part in our graduation survey?'的语句以发出调查邀请。
输出描述:
按题目描述进行输出即可。 Hi, Niumei! Thank you for participating in our graduation survey! Hi, Niu Ke Le! Could you take part in our graduation survey? Hi, GURR! Thank you for participating in our graduation survey! Hi, LOLO! Could you take part in our graduation survey?
案例代码:
survey_list=['Niumei','Niu Ke Le','GURR','LOLO'] result_dict={'Niumei':'Nowcoder','GURR':'HUAWEI'} for i in survey_list: if i in result_dict.keys(): print(f'Hi, {i}! Thank you for participating in our graduation survey!') else: print(f'Hi, {i}! Could you take part in our graduation survey?')
Q6:姓名与学号
问题描述:
创建一个依次包含键-值对{‘name’: ‘Niuniu’和’Student ID’: 1}的字典my_dict_1,创建一个依次包含键-值对{‘name’: ‘Niumei’和’Student ID’: 2}的字典my_dict_2,创建一个依次包含键-值对{‘name’: ‘Niu Ke Le’和’Student ID’: 3}的字典my_dict_3,创建一个空列表dict_list,使用append()方法依次将字典my_dict_1、my_dict_2和my_dict_3添加到dict_list里,使用for循环遍历dict_list,对于遍历到的字典,使用print()语句一行输出类似字符串"Niuniu’s student id is 1."的语句以打印对应字典中的内容。
输出描述:
按题目描述进行输出即可。 Niuniu's student id is 1. Niumei's student id is 2. Niu Ke Le's student id is 3.
案例代码:
my_dict_1 = {'name': 'Niuniu', 'Student ID': 1} my_dict_2 = {'name': 'Niumei', 'Student ID': 2} my_dict_3 = {'name': 'Niu Ke Le', 'Student ID': 3} dict_list = [] dict_list.append(my_dict_1) dict_list.append(my_dict_2) dict_list.append(my_dict_3) for i in dict_list: # 字典获取元素的方法i['key值'],或者i.get('key值') print(f"{i['name']}'s student id is {i.get('Student ID')}.")
总结
点击链接进行跳转注册,开始你的保姆级刷题之路吧!刷题打怪码神之路
另外这里不仅仅可以刷题,你想要的这里都会有,十分适合小白和初学者入门学习~
1、算法篇(398题):面试必刷100题、算法入门、面试高频榜单
2、数据结构篇(300题):都是非常经典的链表、树、堆、栈、队列、动态规划等
3、语言篇(500题):C/C++、java、python入门算法练习
4、SQL篇(82题):快速入门、SQL必知必会、SQL进阶挑战、面试真题
5、大厂笔试真题:字节跳动、美团、百度、腾讯…掌握经验不在惧怕面试!