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

Python从0到入门3目录

  • 前言
  • Q1:字典复习-首都
  • Q2:函数入门-求差
  • Q3:函数入门-牛牛的朋友
  • Q4:综合案例:自动售卖饮料机
  • Q5:综合案例-被8整除的数字
  • Q6:综合案例-披萨店的订单
  • 总结
  • 前言

    – 本期是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!'的语句。

    输入描述:
    输出描述:

    按题目描述进行输出即可。
    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('%s is the capital of %s!'%(i,cities_dict[i]['Capital']))
    

    Q2:函数入门-求差

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

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

    参考代码:

    方法一:
    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]

    参考代码:

    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!

    参考代码:

    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]。
    输出描述:

    参考代码:

    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 整个打印出来。

    输入描述:
    输出描述:

    按题目描述进行输出即可。
    I made your durian pizza!
    I made your bacon pizza!
    I made your chichen pizza!
    ['durian', 'bacon', 'chichen']
    

    参考代码:

    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、大厂笔试真题:字节跳动、美团、百度、腾讯…掌握经验不在惧怕面试!

    来源:洲的学习笔记

    物联沃分享整理
    物联沃-IOTWORD物联网 » 【Python刷题篇】Python从0到入门4|字典复习、函数入门、综合实践

    发表评论