下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 13465.1-2024不透性石墨材料试验方法第1部分:总则
- 废旧家电回收利用行业营销策略方案
- 离心碾磨机细分市场深度研究报告
- 人力资源流程再造行业市场调研分析报告
- 相框边条项目运营指导方案
- 乐器销售行业营销策略方案
- 数据管理用计算机产品供应链分析
- 纺织品制壁挂细分市场深度研究报告
- 书法培训行业相关项目经营管理报告
- 茶壶项目运营指导方案
- 喉痹(咽炎)中医护理方案
- DBJ33_T 1268-2022 工程建设工法编制标准
- 压力容器产品质量证明书样表简版
- 11工作审批流程及权限
- 综合组教研活动记录【精选文档】
- 上册文字表达式-符号表达式-化学式
- 专业技术职称等级分类
- 江苏省城市设计编制导则
- 2022年铁路货运员考试题库(汇总版)
- 《基坑支护》PPT课件.ppt
- 探究如何提高机电工程施工质量的方法
评论
0/150
提交评论