- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五次Python实验
1. 假设有字符串s=“语文:80,数学:82英语:90,物理:85,化学:88,美术:80”,存放了某个学生各科的期末考试成绩。试编写程序,计算该学生所有科目的总分和平均分(保留一位小数)。
(1)代码:
s=语文:80,数学:82,英语:90,物理:85,化学:88,美术:80
w=s.split(,)
sum=0
for i in range(6):
sum+=(float)(w[i][3:])
aver=sum/6
print(所有科目总分为{:.1f},平均分为{:.1f}.format(sum,aver))
(2)运行结果:
(3)结果分析:
在该程序中首先使用split()方法提取字符串s中每门课程的信息(包括课程名和分数)。然后在for循环下对提取后的字符串元素进行复杂切片处理提取所有的分数并全部相加得出所有科目总分,再用总分对科目数相除得出其平均分,验证结果正确。
2. 假设已有列表lst=[(triangle,shape),(red,color),(square,shape),(yellow,color),(green,color),(circle,shape)],其中每个元素都是一个元组。元组中的第一个元素表示值,第二个元素表示标签。试编写程序,完成以下功能:
(1)将列表1st中的元素按照标签排序后输出。
(2)将所有的颜色值从列表Ist中提取出来,存入列表lstcolors,并将该列表输出。
(1)代码:
lsvk=[(triangle,shape),(red,color),(square,shape),(yellow,color),(green,color),(circle,shape)]
lst=[(v,k) for k,v in lsvk]
print(sorted(lst,reverse=False))
lst_colors=[]
for i in range(6):
if lsvk[i][1]==color:
lst_colors.append(lsvk[i][0])
print(lst_colors)
(2)运行结果:
(3)结果分析:
在该程序中先使用列表生成式交换每个元素中值和标签的位置,再使用sorted()函数对交换后的列表进行排序,然后再新建一个列表lstcolors,在for循环中找出所有值为“color”的键并放在新建的列表lstcolors中将其输出。经验证结果正确。
3. 假设列表lst_suit=[“黑桃””红桃”,”梅花”,”方块”],存放了扑克牌的花色。列表1st face=[3,4,15,6,7,8,9,10,J,Q,K,A,2],存放了扑克牌的牌面大小,其元素已按照牌面大小升序排列。试编写程序,完成以下功能。
(1)利用列表生成式,将以上两个列表进行元素搭配,生成一个新的列表lst,存放所有牌面(不考虑大小王)。新列表lst的内容为[“3黑桃”,“3红桃”,“3梅花”,“3方块”,4黑桃”“4红桃”,“4梅花”,“4方块”…,“A黑桃”,“A红桃”,“A梅花”,“A方块,“2黑桃”,”2红桃”
“2梅花”,“2方块]。
(2)使用random库的shuffle()函数将列表lst中的元素次序打乱。
(3)用户与计算机进行“抽牌比大小”游戏。游戏规则如下。
①用户输入序号(范围为0~51),程序根据序号在列表lst中读取牌面。
②计算机抽牌由程序自动完成(通过random库的randint()函数随机生成序号)。
③将用户抽取的牌面与计算机抽取的牌面进行大小比较(不考虑花色),并将结果输出。
三种输出内容对照如下:
“恭喜,您赢了!”
“很遗憾,您输了!”
“咱们平手了!”
(1)代码:
from random import *
lst_suit=[黑桃,红桃,梅花,方块]
lst_face=[3,4,5,6,7,8,9,10,J,Q,K,A,2]
lst=[x+y for x in lst_face for y in lst_suit]
shuffle(lst)
print(lst)
n=int(input(请输入范围在0~51的一个序号))
if lst[n][0]==A:
m=1
elif lst[n][0]==J:
m=11
elif lst[n][0]==Q:
m=12
elif lst[n][0]==K:
m=13
else:
m=int(lst[n][0])
j=randint(0,52)
if lst[j][0]==A or lst[j][0]==J or lst[j][0]==Q or lst[j][0]==K:
k=ord(lst[j][0
文档评论(0)