Python每日一练(牛客新题库)——第19天:字典练习

文章目录

  • 1. 姓名与学号
  • 2. 首都
  • 3. 喜欢的颜色
  • 4. 生成字典
  • 5. 如何让刷题更加高效呢?

前言

最近很多学了基础的小伙伴问我该怎么提升编程水平?学了基础该上哪刷题?明明学了很多,做项目却不知道怎么上手,其实这就是练得太少,只注重了学,却忽视了刷题,只有不断练习才能提高和巩固编程思维和能力!

在这里插入图片描述

刚好看到牛客网最近出了Python的新题库于是体验了一番感觉还不错

在这里插入图片描述

链接地址:牛客网 | Python从入门到实践四十招,废话少说速度上号,或者跟着下文一起刷题!!!

1. 姓名与学号

描述
创建一个依次包含键-值对{‘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')}.")

运行结果:

Niuniu's student id is 1.
Niumei's student id is 2.
Niu Ke Le's student id is 3.

2. 首都

描述: 创建一个依次包含键-值对’Beijing’: {Capital: ‘China’}、‘Moscow’: {Capital: ‘Russia’}和’Paris’: {Capital: ‘France’}的字典cities_dict,
请使用for循环遍历"已使用sorted()函数按升序进行临时排序的包含字典cities_dict的所有键的列表",
对于每一个遍历到的城市名,使用print()语句一行输出类似字符串’Beijing is the capital of China!'的语句。

输入描述:无

输出描述:按题目描述进行输出即可。
Beijing is the capital of China!
Moscow is the capital of Russia!
Paris is the capital of France!

实现代码:

cities_dict={'Beijing': {"Capital": 'China'},
             'Moscow': {"Capital": 'Russia'},
             'Paris': {"Capital": 'France'}
            }

for i in sorted(cities_dict.keys()):
    print(f"{i} is the capital of {cities_dict[i]['Capital']}!")

运行结果:

Beijing is the capital of China!
Moscow is the capital of Russia!
Paris is the capital of France!

3. 喜欢的颜色

描述
驼瑞驰调查了班上部分同学喜欢哪些颜色,并创建了一个依次包含键-值对’Allen’: [‘red’, ‘blue’, ‘yellow’]、‘Tom’: [‘green’, ‘white’, ‘blue’]和’Andy’: [‘black’, ‘pink’]的字典result_dict,作为已记录的调查结果。
现在驼瑞驰想查看字典result_dict的内容,你能帮帮他吗?
使用for循环遍历"使用sorted()函数按升序进行临时排序的包含字典result_dict的所有键的列表",对于每一个遍历到的名字,先使用print()语句一行输出类似字符串"Allen’s favorite colors are:"的语句,然后再使用for循环遍历该名字在字典result_dict中对应的列表,依次输出该列表中的颜色。

输入描述:无

输出描述:按题目描述进行输出即可。
Allen’s favorite colors are:
red
blue
yellow
Andy’s favorite colors are:
black
pink
Tom’s favorite colors are:
green
white
blue

实现代码:

result_dict = {
    'Allen': ['red', 'blue', 'yellow'],
    'Tom': ['green', 'white', 'blue'],
    'Andy': ['black', 'pink']
}
for i in sorted(k for k in result_dict):##列表生成式生成key的列表
    print("%s's favorite colors are:" % i)
    for x in result_dict[i]:
        print(x)

运行结果:

Allen's favorite colors are:
red
blue
yellow
Andy's favorite colors are:
black
pink
Tom's favorite colors are:
green
white
blue

4. 生成字典

描述
牛牛有两份列表,一份记录了牛客网用户的名字,另一份记录他们使用的语言。假设两份列表一一对应,请使用zip函数将两份列表封装为字典,以名字为key,语言为value,然后直接输出字典。

输入描述
第一行输入多个字符串表示用户名字,以空格间隔。
第二行输入多个字符串表示使用的语言,以空格间隔。

输出描述:直接输出两个列表组成的字典。

代码实现:

a =input()
b = input()
names = a.split()
language = b.split()
dict_a = dict(zip(names,language))
print(dict_a)

运行结果:

Niuniu NIumei Niukele
C C++ Python
{'Niuniu': 'C', 'NIumei': 'C++', 'Niukele': 'Python'}

5. 如何让刷题更加高效呢?

嫌博主更新慢的小伙伴牛客网上号自行刷题

在这里插入图片描述

链接地址:牛客网 | Python从入门到实践四十招,废话少说速度上号!!!

你可能感兴趣的:(Python每日一练,python,算法,数据结构)