欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > PDF文档下载
    分享到微信 分享到微博 分享到QQ空间

    PYTHON编程实例.pdf

    • 资源ID:14659935       资源大小:331.13KB        全文页数:11页
    • 资源格式: PDF        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    PYTHON编程实例.pdf

    1、目的:用一个实例总结学习到的 with 语句,函数,列表推导,集合,排序,字符分割等内容要求:分别以 james,julie,mikey,sarah 四个学生的名字建立文本文件,分别存储各自的成绩,时间格式都精确为分秒,时间越短成绩越好,分别输出每个学生的无重复的前三个最好成绩,且分秒的分隔符要统一为“.”数据准备:分别建立四个文本文件james.txt2-34,3:21,2.34,2.45,3.01,2:01,2:01,3:10,2-22julie.txt2.59,2.11,2:11,2:23,3-10,2-23,3:10,3.21,3-21mikey.txt2:22,3.01,3:01,3

    2、.02,3:02,3.02,3:22,2.49,2:38sarah.txt2:58,2.58,2:39,2-25,2-55,2:54,2.18,2:55,2:55import osos.chdir(C:Python33HeadFirstPythonhfpy_codechapter5)#将工作空间修改为文件所在的目录#定义函数 get_filedata 从文件中取值 def get_filedata(filename):try:with open(filename)as f:#with 语句打开和自动关闭文件data=f.readline()#从文件中逐行读取字符return(data.stri

    3、p().split(,)#将字符间的空格清除后,用逗号分隔字符except IOError as ioerr:print(File Error+str(ioerr)#异常处理,打印错误return(None)#定义函数 modify_time_format 将所有文件中的时分表达方式统一为“分.秒”def modify_time_format(time_string):if-in time_string:splitter=-elif:in time_string:splitter=:else:splitter=.(mins,secs)=time_string.split(splitter)#用

    4、分隔符 splitter 分隔字符后分别存入mins 和 secsreturn(mins+.+secs)#定义函数 get_prev_three 返回文件中排名前三的不重复的时间成绩 def get_prev_three(filename):new_list=modify_time_format(each_t)for each_t in get_filedata(filename)#采用列表推导将统一时分表达方式后的记录生成新的列表delete_repetition=set(new_list)#采用集合 set 函数删除新列表中重复项,并生成新的集合in_order=sorted(delete

    5、_repetition)#采用复制排序 sorted 函数对无重复性的新集合进行排序return(in_order0:3)#返回列表前三项#分别输出对应文件中排名前三的不重复的时间成绩 print(get_prev_three(james.txt)print(get_prev_three(julie.txt)print(get_prev_three(mikey.txt)print(get_prev_three(sarah.txt)【程序 1】题目:有 1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?#Filename:001.pycnt=0#count the su

    6、m of resultfor i in range(1,5):for j in range(1,5):for k in range(1,5):if i!=j and i!=k and j!=k:print i*100+j*10+kcnt+=1print cnt程序 2】题目:企业发放的奖金根据利润提成。利润(I)低于或等于 10 万元时,奖金可提 10%;利润高于 10 万元,低于 20 万元时,低于 10 万元的部分按 10%提成,高于 10 万元的部分,可可提成 7.5%;20 万到 40 万之间时,高于 20 万元的部分,可提成 5%;40 万到 60万之间时高于 40 万元的部分,可提

    7、成 3%;60 万到 100 万之间时,高于 60 万元的部分,可提成 1.5%,高于 100 万元时,超过 100 万元的部分按 1%提成,从键盘输入当月利润I,求应发放奖金总数?1#Filename:002.py2 i=int(raw_input(Enter the profit:)3 arr=1000000,600000,400000,200000,100000,04 rat=0.01,0.015,0.03,0.05,0.075,0.15 r=06 for idx in range(0,6):7if iarridx:8r+=(i-arridx)*ratidx9print(i-arridx

    8、)*ratidx10i=arridx11 print r【程序 3】题目:一个整数,它加上 100 后是一个完全平方数,再加上 168 又是一个完全平方数,请问该数是多少?#-*-coding:utf-8-*-Created on 2015-6-7#第三题:一个整数,它加上 100 后是一个完全平方数,再加上 168 又是一个完全平方数,请问该数是多少author:Administratorimport mathnum=1while True:if math.sqrt(num+100)-int(math.sqrt(num+100)=0 and math.sqrt(num+268)-int(ma

    9、th.sqrt(num+268)=0:print(num)breaknum+=1【程序 4】题目:输入某年某月某日,判断这一天是这一年的第几天?1#author:叛军2 import datetime3 import time4 dtstr=str(raw_input(Enter the datetime:(20151215):)5 dt=datetime.datetime.strptime(dtstr,%Y%m%d)6 another_dtstr=dtstr:4+01017 another_dt=datetime.datetime.strptime(another_dtstr,%Y%m%d)

    10、8 print(int(dt-another_dt).days)+1)【程序 5】题目:输入三个整数 x,y,z,请把这三个数由小到大输出。【程序 8】题目:输出 9*9 口诀。1 for i in range(1,10):2for j in range(1,i+1):3print i,*,j,=,i*j,4print【程序 11】题目:古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1 a=12 b=13 for i in range(1,21,2):4print%d%d%(a,b),5a+=b

    11、6b+=a【程序 12】题目:判断 101-200 之间有多少个素数,并输出所有素数。1#!/usr/bin/python2#-*-coding:utf-8-*-3 from math import sqrt4 def main():5for i in range(101,201):6flag=17k=int(sqrt(i)8for j in range(2,k+1):9if i%j=0:10flag=011break12if flag=1:13print%5d%(i),1415 if _name_=_main_:16main()【程序 13】题目:打印出所有的“水仙花数”,所谓“水仙花数”是

    12、指一个三位数,其各位数字立方和等于该数本身。例如:153 是一个“水仙花数”,因为 153=1 的三次方5 的三次方3 的三次方。1#!/usr/bin/python2#-*-coding:utf-8-*-3 def main():4foriinrange(100,1000):5a=i%106b=i/1007c=(int(i/10)%108if i=a*3+b*3+c*3:9print%5d%(i),1011 if _name_=_main_:12main()【程序 14】题目:将一个正整数分解质因数。例如:输入 90,打印出 90=2*3*3*5。1#!/usr/bin/python2#-*

    13、-coding:utf-8-*-34 def main():5n=int(raw_input(Enter a number:)6print n,=,7while(n!=1):8for i in range(2,n+1):9if(n%i)=0:10n/=i11if(n=1):12print%d%(i)13else:14print%d*%(i),15break161718 if _name_=_main_:19main()【程序 15】题目:利用条件运算符的嵌套来完成此题:学习成绩=90 分的同学用 A 表示,60-89 分之间的用 B 表示,60 分以下的用 C 表示。1#!/usr/bin/p

    14、ython2#-*-coding:utf-8-*-3 def main():4s=int(raw_input(Enter a number:)5if s=90:6grade=A7elif s=60:8grade=B9else:10grade=C11print grade,1213 if _name_=_main_:14main()【程序 17】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。1#!/usr/bin/python2#-*-coding:utf-8-*-3#there is no+operator in Python4 import string5 def

    15、main():6s=raw_input(input a string:)7letter=08space=09digit=010other=011for c in s:12if c.isalpha():13letter+=114elif c.isspace():15space+=116elif c.isdigit():17digit+=118else:19other+=120print There are%d letters,%d spaces,%d digits and%d other charactersin your string.%(letter,space,digit,other)21

    16、22 if _name_=_main_:23main()【程序 18】题目:求 s=a+aa+aaa+aaaa+aa.a 的值,其中 a 是一个数字。例如2+22+222+2222+22222(此时共有 5 个数相加),几个数相加有键盘控制。1#!/usr/bin/python2#-*-coding:utf-8-*-3 def main():4basis=int(raw_input(Input the basis number:)5n=int(raw_input(Input the longest length of number:)6b=basis7sum=08for i in range(

    17、0,n):9if i=n-1:10print%d%(basis),11else:12print%d+%(basis),13sum+=basis14basis=basis*10+b15print=%d%(sum),161718 if _name_=_main_:19main()【程序 19】题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如 6=123.编程找出 1000 以内的所有完数。1 from math import sqrt2 n=int(raw_input(input a number:)3 sum=n*-14 k=int(sqrt(n)5 for i in range

    18、(1,k+1):6if n%i=0:7sum+=n/i8sum+=i9 if sum=n:10print YES11 else:12print NO1 2【程序 20】3 题目:一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 4第 10 次落地时,共经过多少米?第 10 次反弹多高?5 6 s=100.7 h=50.08 for i in range(2,11):9s+=2*h10h/=211 print the sum length ofpath:%f%s12 print the last height is:%f%h1 2【程序 21】3 题目:猴子吃桃问题:

    19、猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 4第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 5的一半零一个。到第 10 天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。6 7 n=1 8 for i in range(9,0,-1):9n=(n+1)110 print n1 2 3【程序 22】4 题目:两个乒乓球队进行比赛,各出三人。甲队为 a,b,c 三人,乙队为x,y,z 三人。已抽签决定 5比赛名单。有人向队员打听比赛的名单。a 说他不和 x 比,c 说他不和 x,z 比,请编程序找出 6三队赛手的名单。7 8 for i in

    20、 range(ord(x),ord(z)+1):9for j in range(ord(x),ord(z)+1):10if i!=j:11for k in range(ord(x),ord(z)+1):12if(i!=k)and(j!=k):13if(i!=ord(x)and(k!=ord(x)and(k!=ord(z):14print order is a-%st b-%stc-%s%(chr(i),chr(j),chr(k)1 2【程序 23】3 题目:打印出如下图案(菱形)45*6*7*8*9*10*11*12 13 for i in range(1,8,2):14print*(4-(i

    21、+1)/2)+*i15 for i in range(5,0,-2):16print *(4-(i+1)/2)+*i1 2【程序 24】3 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13.求出这个数列的前 20 项之和。4 5 u=2.0 6 d=1.0 7 s=0.0 8 for i in range(0,20):9s=s+u/d10u=u+d11d=u-d12 print%f%s1 2【程序 25】3 题目:求 1+2!+3!+.+20!的和 4 5 s=0 6 t=1 7 for i inrange(1,21):8t*=i 9s+=t10 print s1 2【

    22、程序 26】3 题目:利用递归方法求 5!。4 5 def fun(i):6if i=1:7return 1 8return i*fun(i-1)9 10 print fun(5)1 2【程序 27】3 题目:利用递归函数调用方式,将所输入的 5 个字符,以相反顺序打印出来。4 5 def output(s,l):6if l=0:7return 8print sl-1 9output(s,l-1)10 11 s=raw_input(Input a string:)12 l=len(s)13 output(s,l)1 2【程序 28】3 题目:有 5 个人坐在一起,问第五个人多少岁?他说比第 4

    23、 个人大 2 岁。问第 4 个人岁数,他说比第 43 个人大 2 岁。问第三个人,又说比第 2 人大两岁。问第 2 个人,说比第一个人大两岁。最后5问第一个人,他说是 10 岁。请问第五个人多大?6 7 def fun(i):8if i=1:9return 1010return fun(i-1)+211 12 print fun(5)1 2【程序 29】3 题目:给一个不多于 5 位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。4 5 def fun(i,cnt):6if i=0:7print There are%ddigit in the number.%cnt 8return

    24、9print i%10,10i/=1011cnt+=112fun(i,cnt)13 14 i=int(raw_input(Input a number:)15 fun(i,0)1 2【程序 30】3 题目:一个 5 位数,判断它是不是回文数。即 12321 是回文数,个位与万位相同,十位与千位相同。4 5 ans=Yes,No 6 i=int(raw_input(Input anumber(1000099999):)7 if i99999:8print Input Error!9else:10i=str(i)11flag=012for j in range(0,2):13ifij!=i4-j:

    25、14flag=115break16print ansflag1 2【程序 36】【筛选法】3 题目:求 100 之内的素数4 5 a=0*101 6 fori in range(2,11):7for j in range(i+i,101,i):8aj=-1;9 for i inrange(2,101):10if ai!=-1:11print ,i,1 2【程序 37】3 题目:对 10 个数进行排序 4 5 print input 10 numbers please:6 l=7 for i in range(10):8l.append(int(raw_input(Input a number:

    26、)9#可以直接使用 sort 函数:l.sort()10#也可以自己写排序代码(选择排序)11 for i inrange(9):12for j in range(i+1,10):13if ljli:14temp=lj15lj=li16li=temp17 print l1 2【程序 38】3 题目:求一个 3*3 矩阵对角线元素之和4 5 l=6 for i in range(3):7for j in range(3):8l.append(int(raw_input(Input a number:)9s=010 for i in range(3):11s+=l3*i+i12 print s1

    27、2【程序 39】3 题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。4 5 l=0,10,20,30,40,50 67 print The sorted list is:,l 8 cnt=len(l)9 n=int(raw_input(Input a number:)10 l.append(n)11 for i inrange(cnt):12if nli:13for j in range(cnt,i,-1):14lj=lj-115li=n16break17 print The new sorted list is:,l1 2【程序 40】3 题目:将一个数组逆序输出。4 5 a=1,2,3,4,5,6,7,8,9 6 l=len(a)7 print a 8 for i in range(l/2):9ai,al-i-1=al-i-1,ai#注意此句 10 print a


    注意事项

    本文(PYTHON编程实例.pdf)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开