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

举报
bdi洲 发表于 2022/07/27 00:35:47 2022/07/27
【摘要】 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!

  
 
  • 1
  • 2
  • 3
  • 4

参考代码:

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']))

  
 
  • 1
  • 2
  • 3

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))

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

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)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

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!")

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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
    


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

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']

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

参考代码:

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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

总结

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

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

在这里插入图片描述

文章来源: blog.csdn.net,作者:洲的学习笔记,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_51484460/article/details/125985636

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。