Python-Project-10-学习笔记
[TOC]
练习 1
创建一个空列表
ages来存储艺术家年龄数据。使用循环遍历
moma中的行。在每次迭代中,将索引6的艺术家创作艺术品时的年份指定为变量
date,将索引3的艺术家出生年份指定为变量birth。- 如果出生日期是int类型的,则计算艺术家在创作艺术品时的年龄,并将其分配给变量
age。 - 如果
birth不是int类型,则将0赋给变量age。 - 将
age附加到ages列表。
- 如果出生日期是int类型的,则计算艺术家在创作艺术品时的年龄,并将其分配给变量
创建一个空列表
final_ages,以存储艺术家的最高年龄。使用循环遍历每个年龄段。在每次迭代中:
- 如果
EndDate值减去BeginDate值大于20,则将年龄分配给变量final_age。 - 如果
EndDate值减去BeginDate值不大于20,则将”Unknown”分配给变量final_age。 - 将
final_age添加到final_ages列表中。
- 如果
from csv import reader |
练习 2
- 创建一个空列表
decades来存储所有的decade数据。 - 遍历
final_ages的值进行循环,并且在每次循环中:- 如果
age是"Unknown",则将其分配给变量decade。 - 如果
age不是"Unknown":- 将整数值转换为字符串,并将其分配给变量
decade。 - 使用列表切片删除
decade的最后一个字符。 - 使用
+运算符将子字符串"0s"添加到字符串decade的末尾。
- 将整数值转换为字符串,并将其分配给变量
- 在
decades列表中添加decade。
- 如果
from csv import reader |
练习 3
- 创建一个空字典,
artist_freq。 - 遍历
moma列表中的每一行,在每个循环中你需要做如下操作:- 将艺术家的名称(索引
1)分配给变量artist。 - 如果
artist还不是artist_freq中的键,请将artist添加到artist_freq中的键,并将值赋值为1。 - 如果
artist是artist_freq中的键,请将该键对应的值加1。
- 将艺术家的名称(索引
from csv import reader |
练习 4
- 创建一个函数
artist_summary(),该函数接受一个参数,即艺术家的姓名。 - 函数应以下步骤打印艺术家的摘要:
- 从
artist_freq字典中检索艺术品的数量,并将其分配给变量。 - 使用上面图表中的格式,创建一个使用大括号(
{})将名称和变量插入字符串的模板字符串。 - 使用
str.format()方法将艺术家的姓名和艺术品数量插入字符串模板。 - 使用
print()函数显示最终字符串。
- 从
- 使用函数显示艺术家
"Henri Matisse"的摘要。
from csv import reader |
总结
恭喜,你已经掌握了:
- 创建逻辑来分析艺术家年龄数据。
- 创建频率表字典。
- 轻松地将值插入字符串以总结我们的分析结果。
我们一起回顾刚刚遇到的困难和总结出来的经验:
语法
- 按顺序将值插入字符串:
continents = "France is in {} and China is in {}".format("Europe", "Asia") |
- 按位置将值插入字符串:
squares = "{0} times {0} equals {1}".format(3,9) |
- 按名称将值插入字符串:
population = "{name}'s population is {pop} million".format(name="Brazil", pop=209) |
概念
str.format()是一个强大的工具,它帮助我们编写易于阅读的代码,同时将字符串与其他变量结合起来。