Python程序设计实例 | 列表

举报
TiAmoZhang 发表于 2023/09/06 13:54:02 2023/09/06
【摘要】 * 本系列推文案例中,建议Python采用3.10及以上版本,NumPy采用1.22.3及以上版本,Matplotlib采用3.5.1及以上版本,Pandas采用1.4.2及以上版本。Python从3.10这个版本开始,标准发行版本中自带的IDLE交互式环境中输入提示符>>>单独放在左侧,不能随输入语句一起复制。为了清晰区分实例在交互环境中的输入和输出,本系列推文在每个输入语句的开头依然保留输入
简介: * 本系列推文案例中,建议Python采用3.10及以上版本,NumPy采用1.22.3及以上版本,Matplotlib采用3.5.1及以上版本,Pandas采用1.4.2及以上版本。Python从3.10这个版本开始,标准发行版本中自带的IDLE交互式环境中输入提示符>>>单独放在左侧,不能随输入语句一起复制。为了清晰区分实例在交互环境中的输入和输出,本系列推文在每个输入语句的开头依然保留输入提示符>>>。

image.png

01、列表的应用实例

【例1】下面是上海某一周各天的最高和最低气温(单位为℃)。

最高气温:13、13、18、18、19、15、16;

最低气温:5、7、10、13、11、8、9。

编写程序,找出这一周中第几天最热(按最高气温计算),最高气温是多少,这一周中第几天最冷(按最低气温计算),最低气温是多少,并求出全周各天的平均气温,最后,根据这一周的气象数据判断上海是否已经入春(假设在气象意义上,入春的标准是连续5天日均气温大于或等于10℃)。

分析:本题需要求取最高气温数据中的最大值及其位置、最低气温数据中的最小值及其位置、每天气温的平均值及该周气温平均值等。如果单纯用变量和循环来做,程序会比较复杂。因此这里用列表来保存数据,使用循环来控制程序。

运用循环结构来计算这周每天的平均气温、判断是否连续5天的日平均气温超过10℃。可以将计算得到的各天的日平均气温保存在列表L3中。通过for循环可以依次访问该列表中的每个元素。设变量k是日均气温大于或等于10℃的天数计数器,在访问L3列表的循环体外初始化为0。如果k的值已经大于或等于5,则不需要继续判断。只有当k小于5,如果某天日均气温大于或等于10℃则加1。当k小于5时,一旦某天日均气温低于10℃,就将累计的天数k清0,后续重新计算大于或等于10℃的天数。当循环结束,如果k这个连续天数计数器大于或等于5,表明有连续5天的日均气温超过10℃。

程序源代码如下:

#example4_4.py
# coding = gbk
L1 =[13,13,18,18,19,15,16)
L2 =[5,7,10,13,11,8,9]
L3 =[]
maxVal = max(L1)
maxDay = L1.index(maxVal)
minVal = min(L2)
minDay = L2.index(minVal)
print("这周第",maxDay+ 1,"天最热,最高",maxVal,"c",sep=")print("这周第",minDay+ 1,"天最冷,最低",minVal,"c",sep=")
for i in range(len(L1)):
L3.append((L1[i] + L2[ ])/2)
print('这周每天的日平均气温:L3)avg = sum(L3)/len(L3)print("周平均气温为:",avg)
k=0
for i in L3:
if k<5:
ifi>=10:
k += 1
else:
k=0
else:
break
if k>=5:
print("上海这周已入春。")
else:
print("上海这周未入春。)

程序example4_4.py的运行结果如下:

3cc53361960436e60e4b82f9ef718ea6.png

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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