欢迎来到咨信网! | 成为共赢成为共赢 咨信网助力知识提升 | 自信网络旗下运营:咨信网 自信AI创作助手 自信AI导航
咨信网
全部分类
  • 包罗万象   教育专区 >
  • 品牌综合   考试专区 >
  • 管理财经   行业资料 >
  • 环境建筑   通信科技 >
  • 法律文献   文学艺术 >
  • 学术论文   百科休闲 >
  • 应用文书   研究报告 >
  • ImageVerifierCode 换一换
    首页 咨信网 > 资源分类 > PDF文档下载
    分享到微信 分享到微博 分享到QQ空间

    Python学习习题选编.pdf

    • 资源ID:226674       资源大小:713.92KB        全文页数:20页
    • 资源格式: PDF        下载积分:15金币
    微信登录下载
    验证码下载 游客一键下载
    账号登录下载
    三方登录下载: QQ登录
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    验证码: 获取验证码
    温馨提示:
    支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    VIP下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    声明    |    会员权益      获赠5币      写作写作
    1、填表:    下载求助     索取发票    退款申请
    2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【曲****】。
    6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    7、文档遇到问题,请及时私信或留言给本站上传会员【曲****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

    Python学习习题选编.pdf

    1、Python习题选编华东师大信息学院计算中心一.程序结构与算法部分:1.编写一个python程序,输入两个数,比较它们的大小并输出其中 较大者。参考代码:x=int(input(Please enter first integer:)y=int(input(Please enter second integer:)if(x=y):print(两数相同!。elif(x y):print(较大数为:”,x)else:print(较大数为:,y);2.写一个算法(流程图和python程序):输入三个数,输出其最大参考代码:a,b,c=3,4,5ifa=b:ifc b:print(b是最大的数)els

    2、e:print(c是最大的数。else:ifc a:print(a是最大的数)else:print(c是最大的数)3.使用Python编程,求1100间所有偶数的和。参考代码:sum=Ofor x in range(l,101):if x%2=0:print(x)sum=sum+xprint(累力口和是:,sum)4.用Python编写程序,输入一年份,判断该年份是否是闰年并输出二口 2K。注:凡符合下面两个条件之一的年份是闰年。(1)能被4整除但不能被100整除。(2)能被400整除。参考代码:year=int(input(Please enter the year:)if(year%4=0

    3、 and year%100!=0)or(year%400=0):print(yeaGis a leap year)else:print(yeaGis not a leap year)5.用Python编程,假设一年期定期利率为3.25%,计算一下需要过 多少年,一万元的一年定期存款连本带息能翻番?参考代码:一cunkuan=10000#本金 10000 元years=0whilecunkuan 100:grade=输入错误!elif score=90:grade=A1elif score=80:grade=Belif score=70:grade=Celif score=60:grade=De

    4、lif score=0:grade=Eelse:grade=输入错误!print(grade)7.猜数游戏。预设一个09之间的整数,让用户猜一猜并输入所猜的数,如果 大于预设的数,显示“太大”;小于预设的数,显示“太小”,如此循环,直 至猜中该数,显示“恭喜!你猜中了!参考答案:num=7while True:guess=int(input(请输入你猜的数(09):)if guess=num:print(恭喜!你猜中了!。break;elif guess num:print(太大)else:print(太小”)8.输入一个数,判断这个数是否为素数,并输出判断结果。(所谓素数,是指除了 1和该数

    5、本身之外,不能被其它任何整数整除的数。下图为参考流程图)参考答案:import mathn=int(input(请输入一个数:)x=int(math.sqrt(n)i,w=2,0fori in range(2zx+l):ifn%i=0:w=lif w=l:print(n,不是素数。)else:print(nj是素数。”)或import mathn=int(input(请输入一个数:)i,w=2,0whilei=int(math.sqrt(n)and w=0:ifn%i=0:w=1breakelse:i=i+lif w=0:print(n J 是素数!)else:print(n,不是素数!)或i

    6、mport mathn=int(input(请输入一个数:)i=2whilei=60:second=second-60minute+=1minute+=5if minute=60:minute=minute-60hour+=1if hour=24:hour=0print(%d:%d:%d%(hour,minute,second)10.一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因 子为1、2、3,而6=1+2+3,因此6是完数。编程,找出1000之内的所有完 数,并输出该完数及对应的因子。(枚举法)参考答案:m=1000for a in range(2,m+l):s=aLl

    7、=for i in range(l,a):if a%i=0:s-=i Ll.append(i)if s=0:print(完数:%d,因子包括:”a,end=*for j in range(l,len(Ll):printf%d%Llj/end=(,)print(n)11.编程,解决猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将 剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到 第10天早上想吃时,,只剩下一个桃子了。求第一天共摘多少个桃子。(迭代法)参考答案:day=9 x=lwhile day0:x=(x+l)*2 d

    8、ay-=l print(total=zx)二.输入输出与文件部分:1.编写一个python程序,输入两个数,输出两数之和。参考代码:x=int(input(Please enter first integer:)y=int(input(Please enter second integer:)print(The sum is:);print(x+y);2.在当前目录卜有一个文件名为temp.txt的文件,存放着上海从2014年3月 10日(周一)到3月16日(周日)间一周的最高和最低气温(单位为摄氏度)。其中,第一行为最高气温,第二行为最低气温。编程,找出这一周中第几天最 热(按最高气温计算)

    9、?最高多少度?这一周中第几天最冷(按最低气温计算)?最冷多少度?参考答案:fl name=te mp.txtf=open(flname)ht=(f.readline().strip()Ll=list(ht.split(/)lt=(f.readline().strip()L2=list(lt.split(;)f.close()fori in range(len(Ll):Lli=int(Lli)L2i=int(L2i)maxVal=LlOmaxDay=0minVal=L20minDay=0fori in range(l,len(Ll):if LlimaxVal:maxVal=LlimaxDay=i

    10、if L2i=10:k+=lelse:k=0avg=int(sum/len(L3)print(周平均气温为:,avg)if k=5:print(上海这周已入春。”)else:print(上海这周未入春。)4.当前目录下有一个文件名为scorel.txt的文本文件,存放着某班学生的计 算机课成绩,共有学号、平时成绩、期末成绩三列。请根据平时成绩占40%,期 末成绩占60%的比例计算总评成绩(取整数),并分学号、总评成绩两列写入另 一文件score2.txt。同时在屏幕上输出学生总人数,按总评成绩计90以上、80 89、7079、6069、60分以下各成绩档的人数和班级总平均分(取整数)。参考答案

    11、:f=open(scorel.txt)a=f.readline()line=(f.readline().strip()f2=open(score2.txt,w)f2.write(学号平均成绩n);L2=0,0,0,0,0count=0sum=0while(len(line)!=0):#print(line)Ll=line.split()f2.write(LlO+)f_score=int(int(Lll)*0.4+int(Ll 2)*0.6)if 90f_score=80:L2l+=1elif f_score=70:L22+=lelif f_score=60:L23+=lelse:L24+=lc

    12、ount+=lsum+=f_scoref2.write(str(f_score)+n)line=(f.readline().strip()f.close()f2.close()avg_score=int(sum/count)print(学生总人数为d,按总评成绩计,90以上d人、8089间d人、6069间d人、60分以下d人。班级总平均%(count/L20/L2l,L22,L23/L24/avg_score)或f=open(scorel.txt)a=f.readlines()del a0L3=for line in a:line=line.strip()Ll=line.split()f_sc

    13、ore=int(int(Ll l)*0.4+int(Ll 2)*0.6)L3.append(Ll0,f_score)f.close()c=0,0,0,0,0count=0sum=0f2=open(score2.txt”w)f2.write(学号平均成绩n);for L2 in L3:if 90L2l=80:cl+=lelif L2l=70:c2+=lelif L2l=60:c3+=lelse:c4+=lcount+=lsum+=L2lf2.write(L20+str(L2l)+n)f2.close()avg_score=int(sum/count)print(学生总人数为d,按总评成绩计,90

    14、以上d人、8089间d人、6069间d人、60分以下d人。班级总平均 7079间d人、分为d分。7079间d人、分为d分。%(count,c0,cl,c2,c3,c4,avg_score)5.当前目录下有一个文本文件sampled,txt,其内容包含小写字母和大写字母。请将该文件复制到另一文件samplel2_copy.txt,并将原文件中的小写字母全部 转换为大写字母,其余格式均不变。参考答案:f=open(sa mplel2.txt)Ll=f.readlines()f2=open(samplel2_copy.txt/w)for line in LI:f2.write(line.upper(

    15、)f.close()f2.close()6.当前目录下有一个文件名为class_score.txt的文本文件,存放着某班学生 的学号、数学课成绩(第2歹U)和语文课成绩(第3列)。请编程完成下列要求:(1)分别求这个班数学和语文的平均分(保留1位小数)并输出。(2)找出两门课都不及格(60)的学生,输出他们的学号和各科成绩。(3)找出两门课的平均分在90分以上的学生,输出他们的学号和各科成绩。建议用三个函数分别实现以上要求。参考答案:def output_avg(L):suml,sum2=0/0for line in L:Ll=line.strip().split()suml+=int(Lll

    16、)sum2+=int(Ll2)count=len(L)avgl=round(suml/countz 1)avg2=round(sum2/countz 1)print(这个班的数学平均分为:%4.1f,语文平均分为:%4.1f%(avgl,avg2)def output_notpass(L):print(二两门课均不及格的学生学号及数学、语文成绩为:”)for line in L:Ll=line.strip().split()if int(Lll)60 and int(Ll2)=90:print(line)f=open(class_score.txt)L=f.readlines()del L0o

    17、utput_avg(L)output_notpass(L)output_good(L)三.算法分析与设计部分1.编程,从键盘接收若干个整数(直接输入回车表示结束),用冒泡法或选择 法进行排序(从小到大),并将排序结果在屏幕上输出。同时估计算法的复 杂度。参考答案:选择排序:def bubble(List):num=len(List)for i in range(0,num-1):for j in range(i+lznum):if ListiListj:ListizListj=ListjzListireturn ListLl=num_str=input(,请输入一个需排序的整数:,)while

    18、 len(num_str)!=0:Ll.append(int(num_str)num_str=inputC请输入一个需排序的整数:,)prints排序后结果bubble(Ll)或冒泡排序:def bubble(List):for i in range(OJen(List)-l):for j in range(len(List)-lJz-l):if Listj-lListj:Listj-l/Listj=Listj/Listj-lreturn ListLl=num_str=inputC请输入一个需排序的整数:,)while len(num_str)!=0:Ll.append(int(num_str

    19、)num_str=inputC请输入一个需排序的整数:,)print。排序后结果bubble(Ll)上述两个程序算法的时间复杂度均为0(产).2.从键盘接收一个正整数n,输出对应斐波那契(Fibonacci)数列的前n项(计 算数列中某项的值请用递归函数实现)。另外,请指出所用算法的复杂度。有能力的同学还可进一步改进算法的效率。参考答案:def fib(n):if n=0 or n=l:return nelse:return fib(n-l)+fib(n-2)n=int(input(n=)for i in range(n+l):print(fib(i),end=)算法时间复杂度为0(n*2n)

    20、.可改进为:def fib(nz List):a,b=0,lList.append(a)while bmaxScore:maxScore=L3imaxlndex=iif L3i=a andsi=A and si=0 and si=9:digit+=lelse:other+=lprint(字母数:%dn空格数:%dn数字数:%dn其他字符 数:dn%(letters,space,digit,other)或p=input(,请输入一行字符:,)a,b,c,d=0z0z0z0for i in p:if(i=A)or(i=a):a+=lelif(i=):b+=lelif(i-O and i=9):c+

    21、=lelse:d+=lprint(英文字母的个数为:+str(a)print(,空格的个数为:str(b)print(,数字的个数为:+str(c)print。其他字符的个数为:,+str(d)或lettei;space/digit/other=0,0,0,0s=input(input a string:)for c in s:if c.isalpha():letter+=1elif c.isspace():space+=1elif c.isdigit():digit+=1else:other+=1print(字母数:%dn空格数:%dn数字数:%dn其他字符 数:%dn%(letter,sp

    22、acezdigitzother)2.小王希望用电脑记录他每天掌握的英文单词。请设计程序和相应的数据结构,使小王能记录新学的英文单词和其中文翻译,并能很方便地根据英文来查找中 文。(参考:数据结构建议用集合。集合添加:dickey=value判断key是否在集合中:if key in die)。参考答案:def add_dic(dic):while True:worduinpuH请输入英文单词(直接按回车结束):)if len(word)=0:break;meaning=input(请输入中文翻译:)dicword=meaningprint(该单词已添加到字典库。)returndef searc

    23、h_dic(dic):while True:word=input(请输入要查询的英文单词(直接按回车结束):”)if len(word)=0:break;if word in die:print(%s 的中文翻译是%s%(word,dicword)else:print(字典库中未找到这个单词”)returnworddic=dict()while True:print(请选择功能:nl:输入n2:查找n3:退出)c=input()if c=l:add_dic(worddic)elif c=2:search_dic(worddic)elif c=3:breakelse:print(输入有误!。五.

    24、异常处理部分:1.以下是两数相加的程序:x=int(input(x=)y=int(input(y=)print(x+y=/x+y);该程序要求接收两个整数,并输出相加结果。但如果输入的不是整数(如字母、浮点数等),程序就会终止执行并输出异常信息。请对程序进行修改,要求输入 非整数时,给出“输入内容必须为整数!”的提示,并提示用户重新输入,直至 输入正确。参考答案:while True:try:x=int(input(x=)exceptValueError:print(输入内容必须为整数!。else:breakwhile True:try:y=int(input(y=)exceptValueEr

    25、ror:print(输入内容必须为整数!。else:breakprint(x+y=/x+y)2.编程,请输入一个文件路径名或文件名,查看该文件是否存在,如存在,打 开文件并在屏幕上输出该文件内容;如不存在,显示“输入的文件未找到!”并要求重新输入;如文件存在但在读文件过程中发生异常,则显示“文件无法 正常读出!”并要求重新输入。(提示:请使用异常处理。”文件未找到”对应的异常名为:FileNotFoundError,其他 异常直接用except匹配)参考答案:while True:try:filename=input(,请输入文件路径名或文件名:)f=open(filename.strip()

    26、print(f.read()except FileNotFoundError:print(输入的文件未找到!)except:print(文件无法正常读出!)else:breakf.close()五.函数部分:1.写一判素数的函数,在主函数中输入一个整数,调用该函数进行判断并输出结果。参考答案:def shushu(n):import mathi,w=2,0 if n=l:w=lwhile i u:u,v=v,ur=u%vwhile r!=0:u=vv=rr=u%vreturn vdef lcd(u,v,h):return u*v/hu=int(input(请输入第一个整数:”)v=int(in

    27、put(请输入第二个整数:”)h=hcf(u,v)print(%d和61的最大公约数为5”(u,v,h)l=lcd(u,v,h)print(%d 和1 的最小公倍数为d:”(u,v,l)5.编程,统计列表中各数据的方差和标准差。主函数已给出,请编写计算方差 的函数varo(提示:方差的计算公式为:ZV/n-CZXi/n)2,其中,n为列表中元素个数,X为 列表中的第i项。标准差则为方差的算术平方根。)参考答案:import math def var(Ll):s,psum=0,0for i in range(len(Ll):v=Llis+=vpsum+=v*vs=s/len(Ll)mse=psu

    28、m/len(Ll)-s*s return mseL1=5,3,7,8,14,9,12,6dx=var(Ll)print(方差为:%.2f,%dx)mse=math.sqrt(dx)print(标准差为:%.2f,%mse)6.主程序中已有一个排好序的列表,请编写函数insertList,将从键盘接收的整 数按原来从小到大的排序规律插入到该列表中。def insertList(Ll,x):#函数代码Ll=l,4,6,9,13,16,28,40,100 x=int(input。请输入一个要插入的整数:,)insertList(Ll,x)print(Ll)参考答案:def insertList(Ll,x):if xLllen(Ll)-l:Ll.append(x)returnfor i in range(0Jen(Ll):if xLli:Ll.insert(i,x)breakreturnLl=l/4/6/9/13/16/28/40/100 x=int(input(,请输入一个要插入的整数:RinsertList(Ll,x)print(Ll)


    注意事项

    本文(Python学习习题选编.pdf)为本站上传会员【曲****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表




    页脚通栏广告
    关于我们 - 网站声明 - 诚招英才 - 文档分销 - 便捷服务 - 联系我们 - 成长足迹

    Copyright ©2010-2024   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:4008-655-100    投诉/维权电话:4009-655-100   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-2024(领证中)    



    关注我们 :gzh.png  weibo.png  LOFTER.png