当前位置:首页>python>小白学python第41天之完成作业

小白学python第41天之完成作业

  • 2026-10-21 13:28:02
小白学python第41天之完成作业

1.17

完成作业

?

学前疑问

我们今天不学习新的知识点,只处理前面学元组和列表留下的作业,大家若是对作业解答有不同见解,都可以留言交流。

第36天

作业:

已知两个小组成员:

小组a成员有:"张三"、"李四"、"王五"、"赵六"、"王五"、"钱七",

小组b成员有:"赵六"、"钱七"、"孙八"、"周九"、"孙八"。

请按照以下要求进行操作:

① 求小组a的独特成员;

② 求小组b的独特成员;

③ 求两个小组的共同成员;

④ 求所有不重复的成员。

# 定义两个小组的成员列表group_a = ["张三", "李四", "王五", "赵六", "王五", "钱七"]group_b = ["赵六", "钱七", "孙八", "周九", "孙八"]# 将列表转换为集合,自动去除内部重复成员set_a = set(group_a)set_b = set(group_b)print("小组a的独特成员:", set_a - set_b)print("小组b的独特成员:", set_b - set_a)print("两个小组的共同成员:", set_a & set_b)print("所有不重复的成员:", set_a | set_b)

第37天

作业:

已知一个购物车列表里有:"苹果"、"牛奶"、"面包"、 "苹果"、"鸡蛋",请按照以下要求进行操作:

① 购物车里商品的总数量;

② 购物车里不重复的商品种类以及具体种类。

# 创建一个购物车列表shopping_cart = ["苹果", "牛奶", "面包", "苹果", "鸡蛋"]# 使用 len() 获取购物车列表的长度cart_length = len(shopping_cart)print("购物车里商品的总数量是:", cart_length) # 先将列表转换为集合(自动去重)unique_items = set(shopping_cart)unique_count = len(unique_items)print("购物车里不重复的商品种类是:", unique_count)  print("具体种类:", unique_items) 

第38天

作业:

有一段文本"apple banana orange apple banana apple",请按照以下要求进行操作:

1、按空格分割字符串,得到单词列表;

2、去重,得到不重复的单词集合;

3、统计原始文本中每个单词出现的次数;

4、将第3步的结果转换为元组列表。

# 原始文本(字符串)text = "apple banana orange apple banana apple"# 1.字符串 -> 列表:使用split()方法按空格分割字符串,得到单词列表word_list = text.split()print("单词列表:", word_list) # 2.列表 -> 集合:利用集合去重的特性,得到不重复的单词集合unique_words = set(word_list)print("不重复的单词:", unique_words)# 3.统计原始文本中每个单词出现的次数(列表 -> 字典的思维)# 初始化一个空字典来存放统计结果word_count = {}# 遍历单词列表for word in word_list:    # 如果单词不在字典中,则将其加入字典,计数为1    # 如果已存在,则将其计数加1    if word not in word_count:        word_count[word] = 1    else:        word_count[word] += 1print("词频统计结果:", word_count)# 4.字典 -> 元组列表:将字典的键值对转换为元组列表,便于后续处理或排序items_list = list(word_count.items())print("键值对列表:", items_list) 

第39天

作业:

使用for循环嵌套列表推导式,生成一个9*9乘法表。

传统for循环写法:

text = []for i in range(1, 10):    for j in range(1, i+1):        text.append(f"{i}×{j}={i*j}")print(text)
# 代码分析:# 外层循环:for i in range(1, 10)控制乘法的第一个数(1到9);# 内层循环:for j in range(1, i+1)控制乘法的第二个数(1到i),确保只生成j≤i的项,避免重复;# 表达式:f"{i}×{j}={i*j}"使用f-string格式化字符串,生成每个乘法项。

使用for循环嵌套列表推导式:

text = [f"{i}×{j}={i*j}"for i in range(1, 10) for j in range(1, i+1)]print(text)

第40天

作业:

已知一个未知的API数据如下:

api_response = {   'data': [       {'token': '43214', 'tsym': 'NIFTY07DEC23C20700', 'exch': 'NFO', 'price': 150.5},       {'token': '43218', 'tsym': 'NIFTY07DEC23P20700', 'exch': 'NFO', 'price': 120.0},       {'token': '43206', 'tsym': 'NIFTY07DEC23C20600', 'exch': 'NFO', 'price': 180.8},       {'token': '43207', 'tsym': 'NIFTY07DEC23P20600', 'exch': 'NFO', 'price': 95.5}   ]}

要求:使用推导式提取下面的关键信息。

{'43214': 'NIFTY07DEC23C20700', '43218': 'NIFTY07DEC23P20700', '43206': 'NIFTY07DEC23C20600', '43207': 'NIFTY07DEC23P20600'}

代码实现:

# 原始的数据api_response = {    'data': [        {'token': '43214', 'tsym': 'NIFTY07DEC23C20700', 'exch': 'NFO', 'price': 150.5},        {'token': '43218', 'tsym': 'NIFTY07DEC23P20700', 'exch': 'NFO', 'price': 120.0},        {'token': '43206', 'tsym': 'NIFTY07DEC23C20600', 'exch': 'NFO', 'price': 180.8},        {'token': '43207', 'tsym': 'NIFTY07DEC23P20600', 'exch': 'NFO', 'price': 95.5}    ]}# 使用字典推导式提取关键信息token_to_symbol = {item['token']: item['tsym'] for item in api_response['data']}print(token_to_symbol)

今日学习完毕,课后作业: 

有空的小伙伴,可以参考代码运行,还是建议不看着代码自己手打,学习效率更好。明天继续学习新的python知识点。

最新文章

随机文章