收藏 分享(赏)

python练习题及答案.pdf

上传人:a****2 文档编号:3626375 上传时间:2024-06-26 格式:PDF 页数:9 大小:422.10KB
下载 相关 举报
python练习题及答案.pdf_第1页
第1页 / 共9页
python练习题及答案.pdf_第2页
第2页 / 共9页
python练习题及答案.pdf_第3页
第3页 / 共9页
python练习题及答案.pdf_第4页
第4页 / 共9页
python练习题及答案.pdf_第5页
第5页 / 共9页
python练习题及答案.pdf_第6页
第6页 / 共9页
亲,该文档总共9页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、答案不唯一,仅供参考。下列程序如有问题加我微信:i-aisx解题方法 穷举法:又称枚举法,是指根据题目的部分条件确定答案的大致范围,然后利用循环结构对所有可能的情况逐一验证。例如:求所有水仙花数、鸡兔同笼等。迭代法:定义1个或多个变量,然后利用循环结构来修改定义的变量去得到最终的结果。例如:累加求和、阶乘等。与穷举法不同的时,迭代法具有:1、循环体外部变量的定义,2、明确的循环范围或循环数据。递归法:函数体内调用函数本身,即自己调用自己。可以把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。大大地减少了程序的代码量。例如:阶乘、斐波那契数列等。递归法有以下两个基本要素:1.

2、确定迭代的方程,例如n!=f(n-1)!*n(n的阶乘等于n-1的阶乘乘以n,f代表递归函数)2.存在限制条件,当满足这个限制条件的时候,递归便不再继续。每次递归调用之后都会越来越接近这个 限制条件。标志位法:当需要在循环体外得到循环体内的判定结果时(循环是否正常执行完成),可以定义一个标志位变量(通常为flag)进行赋值保存循环体内的结果,然后在循环体外根据该标志位变量进行下一步操作。例如:判断质数、合数等。基础题目 1.求前100项(含100)正整数和?2.输出100以内(含100)的所有能被3和7同时整除的数?3.用户输入三个整数x,y,z,输出其中的最大值?4.接收用户输入10个整数,

3、然后利用循环结构求出10个数的最大值s=0#用来保存求和的值for i in range(1,101):#不包含101 s=s+iprint(前100项正整数和是:,s)for i in range(1,101):if i%3=0 and i%7=0:print(i)x=int(input(请输入第一个数:)y=int(input(请输入第二个数:)z=int(input(请输入第三个数:)if x y and x z:print(x)elif y z:print(y)else:print(z)写法1:不使用数组5.用户输入成绩然后输出等级,学习成绩=90分的同学用A表示,60-89分之间的用

4、B表示,60分以下的用C表示?6.用户输入一串字符,统计输入字符串中字符c出现的次数?7.用户输入一串字符,统计输入字符串中小写字母出现的次数?小写字母的十进制ASCII码范围是97-122ord(x):返回ASCII码字符x对应的十进制整数;例如ord(a)的结果是97a=#定义一个空列表,用于保存输入的值for i in range(10):num=int(input(请输入第个数字:.format(i+1)a.append(num)_max=a0#假设第一个是最大值,变量名前加_的原因是为了避免与系统内置函数冲突for i in range(10):if _max ai:#逐个比较 _m

5、ax=aiprint(最大值是.format(_max)写法2:使用数组a=None*10#定义一个包含10个None元素的列表for i in range(10):ai=int(input(请输入第个数字:.format(i+1)_max=a0 for i in range(10):if _max=90:grade=Aelif score=60:grade=Belse:grade=Cprint(你的等级是,grade)s=input(请输入一串字符:)n=0for i in s:if i=c:n=n+1print(字符c的个数是:,n)s=input(请输入一串字符:)n=0for i in

6、 s:if 97=ord(i)=122:n=n+1print(小写字母的个数是:,n)数学相关 1.用户输入圆的半径,输出圆的面积和周长?(结果保留两位小数)2.输入三角形的三个边a、b、c,输出三角形的面积?三角形的面试公式为 s=,其中 p=(a+b+c)/2(结果保留两位小数)3.打印出如下图形?4.打印出九九乘法表?r=float(input(请输入圆的半径:)pi=3.14S=round(pi*(r*r),2)C=round(2*pi*r,2)print(圆的面积是:,S)print(圆的周长是:,C)import math#导入math包a=float(input(请输入第一个边长

7、:)b=float(input(请输入第二个边长:)c=float(input(请输入第三个边长:)p=(a+b+c)/2S=math.sqrt(p*(p-a)*(p-b)*(p-c)print(三角形的面积是:,round(S,2)解法1:双层循环for i in range(1,6):#控制行 for j in range(1,i+1):#控制列 print(*,end=)print()解法2:利用*重复for i in range(1,6):print(*i)5.本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:起步里程为3公里,起步费10元;超出3公里的里程,超出

8、部分每公里2元;要求:输入里程数,输出车费?(结果保留两位小数)6.1,2,3,4 这4个数字,能组成多少个互不相同的且无重复的三位数,都是多少?特定数字 1.判断2-100之间有多少个素数,并输出所有素数?素数一般指质数。质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。一个数的因数就代表能被这个数整除,整除即余数为01既不属于质数也不属于合数for i in range(1,10):for j in range(1,i+1):print(*=t.format(j,i,i*j),end=)#t代表制表符,即4个空格 print()#换行a=float(input(请输入里

9、程数:)if ay:_max =xelse:_max=yfor i in range(_max,(x*y)+1):if i%x=0 and i%y=0:print(最大公倍数是:,i)breakx=int(input(请输入第一个数:)y=int(input(请输入第二个数:)if xy:_min =x#变量名前加_的原因是为了避免与系统内置函数冲突else:_min=yfor i in range(_min,0,-1):if x%i=0 and y%i=0:print(最大公因数是:,i)breakn=int(input(请输入一个数:)for i in range(1,int(n/2)+1

10、):#一个数的最大因子是它的1/2,例如100最大50,101最大50 if n%i=0:print(i)for i in range(2,1001):s=0#保存因子和 for j in range(1,int(i/2)+1):#一个数的最大因子是它的1/2,例如100最大50,101最大50 if i%j=0:s=s+j if i=s:#数等于因子之和 print(i)14.求s=2+22+222+2222+22的值,几个数相加由键盘控制。每一个数等于前一个数乘10加2,例如2222=222*10+2古典问题 1.有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月

11、又生一对兔子,假如兔子都不死,问一年后的兔子总数为多少?翻译:求出斐波那契数列的第12项?(斐波那契数列:0、1、1、2、3、5、8、13、21、34、,自第三项开始,每一项都是前两项之和)思路:迭代或递归2.我国古代数学家张丘建在算经一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?翻译:公鸡一只5元,母鸡一只3元,小鸡三只1元,用100元买了100只鸡,问公鸡、母鸡、小鸡各有多少只?思路:穷举法i=2#分子j=1#分母s=0#保存求和结果for i in range(20):s=s+i/j i,j=i+j,in=int(input(请输入

12、一个数字:)a=0s=0for i in range(n):a=a*10+2 s=s+aprint(s)递归法,自己调用自己def fib(n):if n=1 or n=2:return 1 else:return fib(n-1)+fib(n-2)print(fib(10)迭代法,循环结构f1=f2=1for i in range(3,11):f1,f2=f2,f1+f2print(f2)for x in range(1,21):#公鸡最多100/5,即20个 for y in range(1,34):#母鸡最多33个 z=100-x-y if x*5+y*3+z/3=100:print(鸡

13、翁:,x,鸡母:,y,鸡雏:,z)3.大约在1500年前,孙子算经中就记载了这个有趣的问题。书中是这样叙述的:今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?翻译:鸡兔同笼,共有头35,脚94,求鸡、兔各有多少只?思路:穷举法4.南北朝时期的数学著作孙子算经中记录了一个“物不知数”题目。这道“物不知数”的题目是这样的:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?(求出最小的一个符合条件的数字即可)翻译:有一个数,用3除余2,用5除余3,用7除余2。求这个数的最小值?思路:本题不知道循环次数,适合whilefor x in range(1,35):#鸡最多34个 y=35-x if x*2+y*4=94:print(雉:,x,兔:,y)i=1while True:if i%3=2 and i%5=3 and i%7=2:print(i)break i=i+1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考研资料 > 其它

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2