【Python刷题篇】Python从0到入门4|字典复习、函数入门、综合实践

2024-06-07 11:26:34 浏览数 (1)

前言

- 本期是Python从0到入门4|字典复习、函数入门、综合实践,有不懂的地方可以评论进行讨论!

  • 接下来我将继续更新Python刷题系列、数据库从0到入门刷题系列等等。
  • 本系列文章采用牛客的核心代码模式进行案例代码提供,帮助大家从0到入门的学习过程中进行配套的刷题~
  • 推荐给大家一款刷题、面试的神器,我也是用这一款神器进行学习的!~链接如下:刷题神器跳转链接
  • 该神器不仅网页界面十分美观,而且操作起来极易上手入门!非常适合新手进行系统性的学习!
  • 小白新手可以通过该神器进行日常的刷题、看大厂面经、学习计算机基础知识、与大牛面对面沟通~ 刷题的图片已经放在下面了

Q1:字典复习-首都

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

输入描述: 输出描述:

代码语言:javascript复制
按题目描述进行输出即可。
Beijing is the capital of China!
Moscow is the capital of Russia!
Paris is the capital of France!

参考代码:

代码语言:javascript复制
cities_dict = {'Beijing': {'Capital': 'China'},'Moscow': {'Capital': 'Russia'},'Paris': {'Capital': 'France'}}
for i in sorted(cities_dict.keys()):
    print('%s is the capital of %s!'%(i,cities_dict[i]['Capital']))

Q2:函数入门-求差

问题描述: 请定义一个函数cal(),该函数返回两个参数相减的差。输入第一个数字记录在变量x中,输入第二个数字记录在变量y中,将其转换成数字后调用函数计算cal(x, y),再交换位置计算cal(y, x)。

输入描述:无 输出描述:根据题目描述输出两个差,每个数字单独一行。

参考代码:

代码语言:javascript复制
方法一:
x = int(input())
y = int(input())

def cal(x1, y1):
    return x1 - y1

print(cal(x, y))
print(cal(y, x))

方法二:
这里面先学会一个lambda定义一个函数,因为函数很简单,所以这样做不仅节省空间,而且比较快捷用法。
lambda 传入参数: 传回结果 f = lambda x, y: x - y 等价于
def f(x, y):
	return x - y
	
cal = lambda x, y : x-y
x = int(input())
y = int(input())
print(cal(x, y))
print(cal(y, x))

Q3:函数入门-牛牛的朋友

问题描述:假如牛牛一个列表 friends_list 记录了他最好的几个朋友:[‘Niu Ke Le’, ‘Niumei’, ‘Niuneng’, ‘GOLO’],现在他想将列表里的名字替换成从0开始的数字,依次表示这几个朋友的重要性。请写一个replace函数,第一个参数是列表friends_list,第二个参数是要替换的数字index,即在函数中将列表元素修改成成列表下标值。请使用print函数直接打印修改前的列表。 使用for循环遍历列表 friends_list,每次调用replace函数替换列表中相应下标的元素。结束循环后,再次使用print函数直接打印修改后的列表,查看是否替换成功。

输入描述:无 输出描述: [‘Niu Ke Le’, ‘Niumei’, ‘Niuneng’, ‘GOLO’] [0, 1, 2, 3]

参考代码:

代码语言:javascript复制
friends_list = ['Niu Ke Le', 'Niumei', 'Niuneng', 'GOLO']
print(friends_list)

def replace(list, index):
    list[index] = index

for a in range(len(friends_list)):
    replace(friends_list, a)

print(friends_list)

Q4:综合案例:自动售卖饮料机

问题描述: 假如这是一台自动售卖饮料机的一段程序: 使用print()语句一行输出字符串 ‘What kind of drink would you like?’ , 然后使用input()函数读取字符串,并将读取到的字符串存储到变量kind_of_drink中, 假设读取到饮料是可乐(cola),也即变量kind_of_drink的内容为’cola’, 请使用print()语句一行输出字符串 ‘Below is your cola. Please check it!’ 。 其他饮料已经售空了,因此如果是其他字符串,则输出一句类似 ‘The milk has been sold out!’ 的信息。

输入描述:cola 输出描述: What kind of drink would you like? Below is your cola. Please check it!

参考代码:

代码语言:javascript复制
print("What kind of drink would you like?")
kind_of_drink = input()
if kind_of_drink in "cola":
    print("Below is your cola. Please check it!")
else:
    print("The", kind_of_drink, "has been sold out!")

Q5:综合案例-被8整除的数字

问题描述: 编写一个 while 循环判断输入的字符串对应的十进制数值是否是被8整除的数字,要求使用布尔变量 active 来控制循环结束的时机。每次循环开始先使用print()语句一行输出字符串 “Please enter a positive integer!nEnter ‘quit’ to end the program.” , 如果读取到字符串等于’quit’,则把布尔变量 active 的值更改为False,否则将字符串转成整数,如果能被8整除即是8的倍数,则使用print()语句一行输出类似字符串’80 is a multiple of 8.'的语句,否则使用print()语句一行输出类似字符串’4 is not a multiple of 8.'的语句,然后本次循环结束,再次进入 while 循环中的条件测试。

输入描述:保证每一行的输入只有数字或字符串’quit’,且保证数字合法,范围在[1, 100]。 输出描述:

参考代码:

代码语言:javascript复制
active = True
while(active):
    print("Please enter a positive integer!nEnter 'quit' to end the program.")
    try:
        resp = input()
        if resp == 'quit':
            active = False
        else:
            resp = int(resp)
            if resp<1 or resp >100:
                print('数字合法')
                continue
            if resp%8 == 0:
                print(f'{resp} is a multiple of 8.')
            else:
                print(f'{resp} is not a multiple of 8.')
    except TypeError:
        continue

Q6:综合案例-披萨店的订单

问题描述: 创建一个依次包含字符串’chichen’、’ bacon’和’durian’的列表 pizza_orders,再创建一个名为 finished_pizza 的空列表, 使用 while 循环判断列表 pizza_orders 里面是否还有元素,如果有则使用pop()方法删掉将列表 pizza_orders 的最后一个元素,并把刚刚删掉的元素存到一个名为pizza的变量,假设pizza的值为’bacon’,请使用print()语句一行打印类似字符串’I made your bacon pizza!'的语句,并使用append()语句将pizza添加到列表 finished_pizza 的末尾,然后本次循环结束,再次进入 while 循环中的条件测试。在 while 循环结束后,再使用print()语句把列表 finished_pizza 整个打印出来。

输入描述: 输出描述:

代码语言:javascript复制
按题目描述进行输出即可。
I made your durian pizza!
I made your bacon pizza!
I made your chichen pizza!
['durian', 'bacon', 'chichen']

参考代码:

代码语言:javascript复制
pizza_orders = ['chichen', 'bacon', 'durian']
finished_pizza = []

while len(pizza_orders) > 0:
    pizza = pizza_orders[-1]
    pizza_orders.pop(-1)
    print(f'I made your {pizza} pizza!')
    finished_pizza.append(pizza)

print(finished_pizza)

总结

点击链接进行跳转注册,开始你的保姆级刷题之路吧!刷题打怪码神之路

另外这里不仅仅可以刷题,你想要的这里都会有,十分适合小白和初学者入门学习~ 1、算法篇(398题):面试必刷100题、算法入门、面试高频榜单 2、数据结构篇(300题):都是非常经典的链表、树、堆、栈、队列、动态规划等 3、语言篇(500题):C/C 、java、python入门算法练习 4、SQL篇(82题):快速入门、SQL必知必会、SQL进阶挑战、面试真题 5、大厂笔试真题:字节跳动、美团、百度、腾讯…掌握经验不在惧怕面试!

0 人点赞