2022年python经典例题道 .pdf

上传人:C****o 文档编号:32529435 上传时间:2022-08-09 格式:PDF 页数:16 大小:324.90KB
返回 下载 相关 举报
2022年python经典例题道 .pdf_第1页
第1页 / 共16页
2022年python经典例题道 .pdf_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《2022年python经典例题道 .pdf》由会员分享,可在线阅读,更多相关《2022年python经典例题道 .pdf(16页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、【程序 1】题目:有 1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?【程序 2】题目:企业发放的奖金根据利润提成。利润(I) 低于或等于10 万元时,奖金可提10% ;利润高于 10 万元,低于 20 万元时, 低于 10 万元的部分按10% 提成,高于 10 万元的部分,可可提成7.5% ;20 万到 40 万之间时,高于20 万元的部分,可提成5% ;40 万到 60万之间时高于40 万元的部分, 可提成 3% ;60 万到 100 万之间时, 高于 60 万元的部分,可提成 1.5% ,高于 100 万元时,超过100 万元的部分按1% 提成,从键盘输入当月

2、利润I,求应发放奖金总数? 1 #Filename:002.py 2 i = int(raw_input(Enter the profit:) 3 arr = 1000000,600000,400000,200000,100000,0 4 rat = 0.01,0.015,0.03,0.05,0.075,0.1 5 r = 0 6 for idx in range(0,6): 7if iarridx: 8 r+=(i-arridx)*ratidx 9print (i-arridx)*ratidx 10 i=arridx 11 print r 【程序 3】题目:一个整数,它加上100 后是一个完

3、全平方数,再加上168 又是一个完全平方数,请问该数是多少?【感谢 12 楼的同学peiqianggao提供代码】# -*- coding:utf-8 -*- Created on 2015-6-7 # 第三题:一个整数, 它加上 100 后是一个完全平方数, 再加上 168 又是一个完全平方数,请问该数是多少author: Administrator import math num = 1 while True: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 16 页

4、 - - - - - - - - - if math.sqrt(num + 100)-int(math.sqrt(num + 100) = 0 andmath.sqrt(num + 268)-int(math.sqrt(num + 268) = 0: print (num) break num += 1 【程序 4】题目:输入某年某月某日,判断这一天是这一年的第几天?1 #author: 叛军2 import datetime 3 import time 4 dtstr = str(raw_input(Enter the datetime:(20151215):) 5 dt = datetim

5、e.datetime.strptime(dtstr, %Y%m%d) 6 another_dtstr =dtstr:4 +01017 another_dt = datetime.datetime.strptime(another_dtstr, %Y%m%d) 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【程序

6、11 】题目:古典问题:有一对兔子,从出生后第3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1 a = 1 2 b = 1 3 for i in range(1,21,2): 4print%d %d %(a,b), 5 a += b 6 b += a 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 16 页 - - - - - - - - - 【程序 12 】题目:判断101-200之间有多少个素数,并输出

7、所有素数。 1 #!/usr/bin/python 2 #-*- coding:utf-8 -*- 3 from math import sqrt 4 def main(): 5for i in range(101,201): 6 flag = 1 7 k = int(sqrt(i) 8for j in range(2,k+1): 9if i%j = 0: 10 flag = 0 11break12if flag = 1: 13print%5d %(i), 1415 if_name_ = _main_ : 16 main() 【程序 13 】题目:打印出所有的“ 水仙花数 ” ,所谓 “ 水仙

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

9、如:输入90, 打印出 90=2*3*3*5。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 16 页 - - - - - - - - - 1 #!/usr/bin/python 2 #-*- coding:utf-8 -*- 3 4 def main(): 5 n = int(raw_input(Enter a number:) 6print n, = , 7while (n!=1): 8for i in range(2,n+1): 9if (n%i)=0: 10 n/

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

11、 s=60: 8 grade = B 9else : 10 grade = C11print grade, 1213 if_name_ = _main_ : 14 main() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 16 页 - - - - - - - - - 【程序 17 】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 1 #!/usr/bin/python 2 #-*- coding:utf-8 -*- 3 #there is n

12、o + operator in Python 4 import string 5 def main(): 6 s = raw_input(input a string:) 7 letter = 0 8 space = 0 9 digit = 0 10 other = 0 11for c in s: 12if c.isalpha(): 13 letter+=1 14elif c.isspace(): 15 space+=1 16elif c.isdigit(): 17 digit+=1 18else : 19 other+=1 20printThere are %d letters,%d spa

13、ces,%d digits and %d other characters in your string.%(letter,space,digit,other) 2122 if_name_ = _main_ : 23 main() 【程序 18 】题目:求 s=a+aa+aaa+aaaa+aa.a的值,其中a 是一个数字。例如2+22+222+2222+22222(此时共有 5 个数相加 ) ,几个数相加有键盘控制。 1 #!/usr/bin/python 2 #-*- coding:utf-8 -*- 3 def main(): 4 basis = int(raw_input(Input t

14、he basis number:) 5 n = int(raw_input(Input the longest length of number:) 6 b = basis 7 sum = 0 8for i in range(0,n): 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 16 页 - - - - - - - - - 9if i=n-1: 10print%d %(basis), 11else : 12print%d + %(basis), 13 sum+=ba

15、sis 14 basis = basis*10+b 15print= %d %(sum), 161718 if_name_ = _main_ : 19 main() 【程序 19 】题目:一个数如果恰好等于它的因子之和,这个数就称为“ 完数 ” 。例如 6=1 23. 编程找出 1000以内的所有完数。 1 from math import sqrt 2 n = int(raw_input(input a number:) 3 sum = n*-1 4 k = int(sqrt(n) 5 for i in range(1,k+1): 6if n%i = 0: 7 sum += n/i 8 su

16、m += i 9 if sum = n: 10printYES11 else : 12printNO 1 2 【程序 20】 3 题目:一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 4第 10 次落地时,共经过多少米?第10 次反弹多高? 5 6 s = 100. 7 h = 50.0 8 for i in range(2,11): 9 s += 2*h 10 h /= 2 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 16 页 - -

17、- - - - - - - 11 printthe sum length of path:%f%s 12 printthe last height is:%f%h 1 2【程序 21】 3 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 4第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 5的一半零一个。 到第 10 天早上想再吃时, 见只剩下一个桃子了。 求第一天共摘了多少。 6 7 n = 1 8 for i in range(9,0,-1): 9 n = (n+1)1 10 print n 1 2 3 【程序 22】 4 题目

18、:两个乒乓球队进行比赛, 各出三人。 甲队为 a,b,c 三人,乙队为 x,y,z三人。已抽签决定 5比赛名单。 有人向队员打听比赛的名单。 a 说他不和 x 比,c 说他不和x,z 比,请编程序找出 6三队赛手的名单。 7 8 for i in 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 != o

19、rd(x ) and (k != ord( z ): 14printorder is a - %st b - %stc-%s % (chr(i),chr(j),chr(k) 1 2 【程序 23】 3 题目:打印出如下图案(菱形) 4 5 * 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 16 页 - - - - - - - - - 6 * 7 * 8 * 9 * 10 * 11 * 12 13 for i in range(1,8,2): 14print *(4-(i

20、+1)/2)+*i 15 for i in range(5,0,-2): 16print *(4-(i+1)/2)+*i 1 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): 9 s = s+u/d 10 u = u+d 11 d = u-d 12 print%f %s 1 2 【程序 25】 3 题目:求 1+2!+3!+.+20!的和 4 5 s = 0 6 t = 1 7 for i i

21、n range(1,21): 8 t*=i 9 s+=t 10 print s 1 2 【程序 26】 3 题目:利用递归方法求5! 。 4 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 16 页 - - - - - - - - - 5 def fun(i): 6if i=1: 7return 1 8return i*fun(i-1) 910 print fun(5) 1 2 【程序 27】 3 题目:利用递归函数调用方式, 将所输入的 5 个字符,以相反顺序打印出来。

22、 4 5 def output(s,l): 6if l=0: 7return 8print sl-1 9 output(s,l-1) 1011 s = raw_input(Input a string:) 12 l = len(s) 13 output(s,l) 1 2 【程序 28】 3 题目:有 5 个人坐在一起,问第五个人多少岁?他说比第4 个人大 2 岁。问第 4 个人岁数,他说比第 43 个人大 2 岁。问第三个人,又说比第2人大两岁。问第2 个人,说比第一个人大两岁。最后 5问第一个人,他说是10 岁。请问第五个人多大? 6 7 def fun(i): 8if i=1: 9retu

23、rn 10 10return fun(i-1)+2 1112 print fun(5) 1 2 【程序 29】 3 题目:给一个不多于5 位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 4 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 16 页 - - - - - - - - - 5 def fun(i,cnt): 6if i=0: 7printThere are %d digit in the number.%cnt 8return 9print i%1

24、0, 10 i/=10 11 cnt+=1 12 fun(i,cnt) 1314 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 a number(1000099999):) 7 if i99999: 8printInput Error! 9 else : 10 i = str(i) 11 flag = 0 12for j in rang

25、e(0,2): 13if ij!=i4-j: 14 flag = 1 15break16print ansflag 1 2 【程序 36】【筛选法】 3 题目:求 100 之内的素数 4 5 a = 0*101 6 for i in range(2,11): 7for j in range(i+i,101,i): 8 aj=-1; 9 for i in range(2,101): 10if ai!=-1: 11print ,i, 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10

26、页,共 16 页 - - - - - - - - - 1 2 【程序 37】 3 题目:对 10 个数进行排序 4 5 printinput 10 numbers please: 6 l = 7 for i in range(10): 8 l.append(int(raw_input(Input a number:) 9 #可以直接使用 sort 函数: l.sort()10 #也可以自己写排序代码 ( 选择排序 )11 for i in range(9): 12for j in range(i+1,10): 13if ljli: 14 temp = lj 15 lj = li 16 li =

27、 temp 17 print l 1 2 【程序 38】 3 题目:求一个 3*3 矩阵对角线元素之和 4 5 l = 6 for i in range(3): 7for j in range(3): 8 l.append(int(raw_input(Input a number:) 9 s = 0 10 for i in range(3): 11 s += l3*i+i 12 print s 1 2 【程序 39】 3 题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。 4 5 l = 0,10,20,30,40,50 6 7 printThe sorted lis

28、t is:,l 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 16 页 - - - - - - - - - 8 cnt = len(l) 9 n = int(raw_input(Input a number:) 10 l.append(n) 11 for i in range(cnt): 12if n y) * x + (x y) * y + (x y) * x 6 7 if_name_ = _main_ : 名师资料总结 - - -精品资料欢迎下载 - - - -

29、- - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 16 页 - - - - - - - - - 8 a = 10 9 b = 20 10printThe largar one is %d % MAXIMUM(a,b) 11printThe lower one is %d % MINIMUM(a,b) 1 2 【程序 51】 3 题目:学习使用按位与 & 。 4 程序分析: 0&0=0; 0&1=0; 1&0=0; 1&1=1 5 6 题目:学习使用按位或 | 。 7 程序分析: 0|0=0; 0|1=1; 1|0=1; 1|1=

30、1 8 9 题目:学习使用按位异或 。10 程序分析: 00=0; 01=1; 10=1; 11=0 1112 题目:学习使用按位取反。13 程序分析: 0=1; 1=0 1415 16 a = 077 #8进制17 b = a&3 18 print077&3=%d%b 19 b&=7 20 print077&3&7=%d%b 2122 a = 077 23 b = a | 3 24 print077|3=%d % b 25 b |= 7 26 print077|3|7=%d % b 2728 a = 077 29 b = a 3 30 print0773=%d % b 31 b = 7 32

31、 print07737=%d % b 1 2 【程序 54】3 题目:取一个整数 a 从右端开始的 47 位。4 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 16 页 - - - - - - - - - 5 a = 100 6 print 100&0 x00F0 1 2 【程序 56】 3 题目:画圆【 Tkinter模块】 4 5 if_name_ = _main_ : 6from Tkinter import * 7 8 canvas = Canvas(widt

32、h=800, height=600, bg=red) 9 canvas.pack(expand=YES, fill=BOTH) 10 k = 1 11 j = 1 12for i in range(0,26): 13 canvas.create_oval(310 - k,250 - k,310 + k,250 + k, width=1) 14 k += j 15 j += 0.3 1617 mainloop() 1 2 【程序 57】 3 题目:画直线。 4 1. 程序分析: 5 2. 程序源代码: 6 7 if_name_ = _main_ : 8from Tkinter import *

33、910 canvas = Canvas(width=300, height=300, bg=green) 11 canvas.pack(expand=YES, fill=BOTH) 12 x0 = 263 13 y0 = 263 14 y1 = 275 15 x1 = 275 16for i in range(19): 17 canvas.create_line(x0,y0,x0,y1, width=1, fill=red) 18 x0 = x0 - 5 19 y0 = y0 - 5 20 x1 = x1 + 5 21 y1 = y1 + 5 名师资料总结 - - -精品资料欢迎下载 - -

34、- - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 16 页 - - - - - - - - - 2223 x0 = 263 24 y1 = 275 25 y0 = 263 26for i in range(21): 27 canvas.create_line(x0,y0,x0,y1,fill = red) 28 x0 += 5 29 y0 += 5 30 y1 += 5 3132 mainloop() 1 2 【程序 58】 3 题目:画方形。 4 5 if_name_ = _main_ : 6from Tkinter

35、import * 7 root = Tk() 8 root.title(Canvas ) 9 canvas = Canvas(root,width = 400,height = 400,bg = yellow) 10 x0 = 263 11 y0 = 263 12 y1 = 275 13 x1 = 275 14for i in range(19): 15 canvas.create_rectangle(x0,y0,x1,y1) 16 x0 -= 5 17 y0 -= 5 18 x1 += 5 19 y1 += 5 2021 canvas.pack() 22 root.mainloop() 1

36、2 题目:画图,综合例子。 3 1. 程序分析: 4 2. 程序源代码: 5 6 if_name_ = _main_ : 7from Tkinter import * 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 16 页 - - - - - - - - - 8 canvas = Canvas(width = 300,height = 300,bg = green) 9 canvas.pack(expand = YES,fill = BOTH) 10 x0 = 150

37、 11 y0 = 100 12 canvas.create_oval(x0 - 10,y0 - 10,x0 + 10,y0 + 10) 13 canvas.create_oval(x0 - 20,y0 - 20,x0 + 20,y0 + 20) 14 canvas.create_oval(x0 - 50,y0 - 50,x0 + 50,y0 + 50) 15import math 16 B = 0.809 17for i in range(16): 18 a = 2 * math.pi / 16 * i 19 x = math.ceil(x0 + 48 * math.cos(a) 20 y =

38、 math.ceil(y0 + 48 * math.sin(a) * B) 21 canvas.create_line(x0,y0,x,y,fill = red) 22 canvas.create_oval(x0 - 60,y0 - 60,x0 + 60,y0 + 60) 232425for k in range(501): 26for i in range(17): 27 a = (2 * math.pi / 16) * i + (2 * math.pi / 180) * k 28 x = math.ceil(x0 + 48 * math.cos(a) 29 y = math.ceil(y0

39、 + 48 + math.sin(a) * B) 30 canvas.create_line(x0,y0,x,y,fill = red) 31for j in range(51): 32 a = (2 * math.pi / 16) * i + (2* math.pi / 180) * k - 1 33 x = math.ceil(x0 + 48 * math.cos(a) 34 y = math.ceil(y0 + 48 * math.sin(a) * B) 35 canvas.create_line(x0,y0,x,y,fill = red) 36 mainloop() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 16 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com