




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章python数据类型.................................2
3.12实例..............................................3
3.12.1发扑克牌.....................................3
3.12.2找单词.......................................4
3.12.3计算两个日期间隔天数........................5
第3章python数据类型
【例3・11]比较了"+"和append。两种方法
importtime
result=[]
start=time.time()
foriinrange(10000):
result=result+[i]
print,+操作执行”,len(result)J次,用时;time.time()・start)
result=[]
start=time.time()
foriinrange(10000):
result.append(i)
print("append操作执行"Jen(result),'次,用时time.time()・start)
程序运行结果如下所示:
+操作执行10000次,用时0.2020115852355957
append操作执行10000次,用时0.0009999275207519531
【例332】比较了Insert()和append。两种方法
importtime
defInsert():
a=[]
foriinrange(10000):
a.insert(0,i)
defAppend():
a=[]
foriinrange(10000):
a.append(i)
start=time.time()
foriinrange(lO):
Insert()
print('Insert:'»time.time()-start)
start=time.time()
foriinrange(lO):
Append()
print(,Append:*,time.time()-start)
程序运行结果如下所示:
Insert:0.57800(X)68665
Append:0.0309998989105
【例3-14]每一个列表中只要有一个元素出现两次,那么该列表即被判定为包含重复
元素。编写函数判定列表中是否包含重复元素,如果包含返回True,否则返回Falseo然后
使用该函数对n行字符串进行处理。最后统计包含重复元素的行数与不包含重复元素的行
数。
输入格式:
输入n,代表接下来要输入n行字符串。
然后输入n行字符串,字符串之间的元素以空格相分隔。
输出格式:
True二包含重复元素的行数,False二不包含重复元素的行数,后面有空格。
输入样例:
5
12345
13254
12361
12321
11111
输出样例:
True=3,False=2
【代码如下所示】
n=int(input())
true=false=0
foriinrange(n):
a=input()
a=list(a.split())
iflen(list(a))==len(set(a)):#利用集合中元素不能重复的特性
false+=1
else:
true+=1
print('True=%d,False=%d'%(true,false))
3.12实例
3.12.1发扑克牌
【例336】发扑克牌。
【解析】扑克牌有54张牌,其中52张是正牌,另2张是副牌(大王和小王)。52张正牌
又均分为13张一组,并以黑桃、红桃、梅花、方块四种花色表示各组,每组花色的牌包括
从1-10(1通常表示为A)以及J、Q、K标示的13张牌。
importrandom
SUITS=['Club',,Diamond','Heart','Spade']
RANKS=[,AV273,;4,;5,,,677V8,;9V10,;J7Q;K]
deck=[]
forrankinRANKS:
forsuitinSUITS:
card=rank.+'of+suit
deck+=[card]
n=len(deck)
foriinrange(n):
r=random.randrange(i,n)
deck[r],deck[i]=deck[i],deck[r]
forsindeck:print(s)#输出扑克牌的随意组合
运行结果如下所示:
3ofHeart
AofHeart
3ofClub
4ofClub
JofClub
3olDiamond
4ofSpade
2ofClub
KofSpade
7ofHeart
6ofSpade
9ofSpade
JofSpade
9ofHeart
AofSpade
6ofDiamond
AofDiamond
QofSpade
3.12.2找单词
【例3-17]输入一串字符,统计其中单词出现的次数,单词之间用空格分隔开。
【解析】采用字典数据结构来实现,如果某个单词出现在字典中,可以将单词作为键,访问
它的值(单词的次数),并将其关联值加1;如果某个单词(键)不存在于字典中,使用赋
值的方式创建键,并将其关联值置为1.
string=input("inputstring/')
string_list=string.split()
word_dict={}
forwordinstring_list:
ifwordinword_dict:
word_dict[word]+=1
else:
word_dict[word]=1
print(word_dict)
【程序运行结果】
inputstring:!amaboyIamastudent
{T:2,'am':2,'a':2,'boy':1,'student':1}
3.12.3计算两个日期间隔天数
【例3-18]输入两组同年的年月日,计算之间相隔天数。其中,默认第二组输入日期比第
一组输入日期大。例如,输入201831,2018-5-25,输出间隔天数86。
【提示】输入的字符串转换为整数需要用到split。函数以及map()函数。"2018-3-l".split("-")
的含义是将字符串按切分,返回「201将,"3",T]列表。map(int,list)含义是将int函数依次
应用于list中的每一个元素。闰年的定义为被4整除且不能被100整除或被400整除的年份。
【解析】
=map(int,inputC开始年月日,输入形式如2018-2-3:*).split(-'))
y2,m2,d2=map(int,input(,结束年月日,输入形式如2018-2-3:*).split(-'))
a=[31,28,31,30,31,30,31,31,30,31,30,31]
d=0
ifml>m2:
ml,m2=m2,ml
dl,d2=d2,dl
foriinrange(ml,m2):
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业领导力发展中的领导力与组织愿景塑造关系研究考核试卷
- 鱼类行为与养殖环境适应性育种研究考核试卷
- 数字化培训对团队决策能力的提升路径考核试卷
- 职业暴露暴露量评估方法考核试卷
- 体育器材行业可持续发展中的竞争与合作机制分析考核试卷
- 气候条件对中草药生长周期同步性的影响考核试卷
- 美学知识点马工程
- 紧急呼叫系统施工方案
- 《触摸春天》读后感6篇
- 元旦的演讲稿(14篇)
- 2025至2030中国柔性直流输电行业运营规划及发展前景深度分析报告
- 安全产风险管理制度
- 深化国有企业改革调研提纲
- 小学骑车安全课件
- 公司个人独资章程范本
- 《中国酒类企业ESG披露指南》
- 2025年航空安全管理专业考试试卷及答案
- 2025至2030年中国玉米淀粉行业市场现状分析及前景战略研判报告
- 安徽省2025年普通高校招生志愿预填表(普通类)
- 2025高考全国一卷语文真题
- 诈骗谅解书和退赔协议书
评论
0/150
提交评论