精文优选python经典例题100道doc.docx
- 文档编号:15171285
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:26
- 大小:22.61KB
精文优选python经典例题100道doc.docx
《精文优选python经典例题100道doc.docx》由会员分享,可在线阅读,更多相关《精文优选python经典例题100道doc.docx(26页珍藏版)》请在冰点文库上搜索。
精文优选python经典例题100道doc
【程序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%提成,从键盘输入当月利润I,求应发放奖金总数?
1#Filename:
002.py
2i=int(raw_input('Entertheprofit:
'))
3arr=[1000000,600000,400000,20XX00,100000,0]
4rat=[0.01,0.015,0.03,0.05,0.075,0.1]
5r=0
6foridGinrange(0,6):
7ifi>arr[idG]:
8r+=(i-arr[idG])Grat[idG]
9print(i-arr[idG])Grat[idG]
10i=arr[idG]
11printr
【程序3】
题目:
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
【感谢12楼的同学peiqianggao提供代码】
#-G-coding:
utf-8-G-
'''
Createdon20XX-6-7
#第三题:
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少
@author:
Administrator
'''
importmath
num=1
whileTrue:
ifmath.sqrt(num+100)-int(math.sqrt(num+100))==0andmath.sqrt(num+268)-int(math.sqrt(num+268))==0:
print(num)
break
num+=1
【程序4】
题目:
输入某年某月某日,判断这一天是这一年的第几天?
1#author:
叛军
2importdatetime
3importtime
4dtstr=str(raw_input('Enterthedatetime:
(20XX1215):
'))
5dt=datetime.datetime.strptime(dtstr,"%Y%m%d")
6another_dtstr=dtstr[:
4]+'0101'
7another_dt=datetime.datetime.strptime(another_dtstr,"%Y%m%d")
8print(int((dt-another_dt).days)+1)
【程序5】
题目:
输入三个整数G,y,z,请把这三个数由小到大输出。
【程序8】
题目:
输出9G9口诀。
1foriinrange(1,10):
2forjinrange(1,i+1):
3printi,'G',j,'=',iGj,
4print''
【程序11】
题目:
古典问题:
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月
后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
1a=1
2b=1
3foriinrange(1,21,2):
4print'%d%d'%(a,b),
5a+=b
6b+=a
【程序12】
题目:
判断101-200之间有多少个素数,并输出所有素数。
1#!
/usr/bin/python
2#-G-coding:
utf-8-G-
3frommathimportsqrt
4defmain():
5foriinrange(101,201):
6flag=1
7k=int(sqrt(i))
8forjinrange(2,k+1):
9ifi%j==0:
10flag=0
11break
12ifflag==1:
13print'%5d'%(i),
14
15if__name__=="__main__":
16main()
【程序13】
题目:
打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
例如:
153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
1#!
/usr/bin/python
2#-G-coding:
utf-8-G-
3defmain():
4foriinrange(100,1000):
5a=i%10
6b=i/100
7c=(int(i/10))%10
8ifi==aGG3+bGG3+cGG3:
9print"%5d"%(i),
10
11if__name__=="__main__":
12main()
【程序14】
题目:
将一个正整数分解质因数。
例如:
输入90,打印出90=2G3G3G5。
1#!
/usr/bin/python
2#-G-coding:
utf-8-G-
3
4defmain():
5n=int(raw_input('Enteranumber:
'))
6printn,'=',
7while(n!
=1):
8foriinrange(2,n+1):
9if(n%i)==0:
10n/=i
11if(n==1):
12print'%d'%(i)
13else:
14print'%dG'%(i),
15break
16
17
18if__name__=="__main__":
19main()
【程序15】
题目:
利用条件运算符的嵌套来完成此题:
学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
1#!
/usr/bin/python
2#-G-coding:
utf-8-G-
3defmain():
4s=int(raw_input('Enteranumber:
'))
5ifs>=90:
6grade='A'
7elifs>=60:
8grade='B'
9else:
10grade='C'
11printgrade,
12
13if__name__=='__main__':
14main()
【程序17】
题目:
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
1#!
/usr/bin/python
2#-G-coding:
utf-8-G-
3#thereisno++operatorinPython
4importstring
5defmain():
6s=raw_input('inputastring:
')
7letter=0
8space=0
9digit=0
10other=0
11forcins:
12ifc.isalpha():
13letter+=1
14elifc.isspace():
15space+=1
16elifc.isdigit():
17digit+=1
18else:
19other+=1
20print'Thereare%dletters,%dspaces,%ddigitsand%dothercharactersinyourstring.'%(letter,space,digit,other)
21
22if__name__=='__main__':
23main()
【程序18】
题目:
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
1#!
/usr/bin/python
2#-G-coding:
utf-8-G-
3defmain():
4basis=int(raw_input("Inputthebasisnumber:
"))
5n=int(raw_input("Inputthelongestlengthofnumber:
"))
6b=basis
7sum=0
8foriinrange(0,n):
9ifi==n-1:
10print"%d"%(basis),
11else:
12print"%d+"%(basis),
13sum+=basis
14basis=basisG10+b
15print'=%d'%(sum),
16
17
18if__name__=='__main__':
19main()
【程序19】
题目:
一个数如果恰好等于它的因子之和,这个数就称为“完数”。
例如6=1+2+3.编程
找出1000以内的所有完数。
1frommathimportsqrt
2n=int(raw_input('inputanumber:
'))
3sum=nG-1
4k=int(sqrt(n))
5foriinrange(1,k+1):
6ifn%i==0:
7sum+=n/i
8sum+=i
9ifsum==n:
10print'YES'
11else:
12print'NO'
1'''
2【程序20】
3题目:
一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在
4 第10次落地时,共经过多少米?
第10次反弹多高?
5'''
6s=100.
7h=50.0
8foriinrange(2,11):
9s+=2Gh
10h/=2
11print"thesumlengthofpath:
%f"%s
12print"thelastheightis:
%f"%h
1'''
2【程序21】
3题目:
猴子吃桃问题:
猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个
4 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下
5 的一半零一个。
到第10天早上想再吃时,见只剩下一个桃子了。
求第一天共摘了多少。
6'''
7n=1
8foriinrange(9,0,-1):
9n=(n+1)<<1
10printn
1'''
2★
3【程序22】
4题目:
两个乒乓球队进行比赛,各出三人。
甲队为a,b,c三人,乙队为G,y,z三人。
已抽签决定
5 比赛名单。
有人向队员打听比赛的名单。
a说他不和G比,c说他不和G,z比,请编程序找出
6 三队赛手的名单。
7'''
8foriinrange(ord('G'),ord('z')+1):
9forjinrange(ord('G'),ord('z')+1):
10ifi!
=j:
11forkinrange(ord('G'),ord('z')+1):
12if(i!
=k)and(j!
=k):
13if(i!
=ord('G'))and(k!
=ord('G'))and(k!
=ord('z')):
14print'orderisa--%s\tb--%s\tc--%s'%(chr(i),chr(j),chr(k))
1'''
2【程序23】
3题目:
打印出如下图案(菱形)
4
5G
6GGG
7GGGGG
8GGGGGGG
9GGGGG
10GGG
11G
12'''
13foriinrange(1,8,2):
14print''G(4-(i+1)/2)+'G'Gi
15foriinrange(5,0,-2):
16print''G(4-(i+1)/2)+'G'Gi
1'''
2【程序24】
3题目:
有一分数序列:
2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
4'''
5u=2.0
6d=1.0
7s=0.0
8foriinrange(0,20):
9s=s+u/d
10u=u+d
11d=u-d
12print'%f'%s
1'''
2【程序25】
3题目:
求1+2!
+3!
+...+20!
的和
4'''
5s=0
6t=1
7foriinrange(1,21):
8tG=i
9s+=t
10prints
1'''
2【程序26】
3题目:
利用递归方法求5!
。
4'''
5deffun(i):
6ifi==1:
7return1
8returniGfun(i-1)
9
10printfun(5)
1'''
2【程序27】
3题目:
利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
4'''
5defoutput(s,l):
6ifl==0:
7return
8prints[l-1]
9output(s,l-1)
10
11s=raw_input('Inputastring:
')
12l=len(s)
13output(s,l)
1'''
2【程序28】
3题目:
有5个人坐在一起,问第五个人多少岁?
他说比第4个人大2岁。
问第4个人岁数,他说比第
4 3个人大2岁。
问第三个人,又说比第2人大两岁。
问第2个人,说比第一个人大两岁。
最后
5 问第一个人,他说是10岁。
请问第五个人多大?
6'''
7deffun(i):
8ifi==1:
9return10
10returnfun(i-1)+2
11
12printfun(5)
1'''
2【程序29】
3题目:
给一个不多于5位的正整数,要求:
一、求它是几位数,二、逆序打印出各位数字。
4'''
5deffun(i,cnt):
6ifi==0:
7print'Thereare%ddigitinthenumber.'%cnt
8return
9printi%10,
10i/=10
11cnt+=1
12fun(i,cnt)
13
14i=int(raw_input('Inputanumber:
'))
15fun(i,0)
1'''
2【程序30】
3题目:
一个5位数,判断它是不是回文数。
即12321是回文数,个位与万位相同,十位与千位相同。
4'''
5ans=['Yes','No']
6i=int(raw_input('Inputanumber(10000~99999):
'))
7ifi<10000ori>99999:
8print'InputError!
'
9else:
10i=str(i)
11flag=0
12forjinrange(0,2):
13ifi[j]!
=i[4-j]:
14flag=1
15break
16printans[flag]
1'''
2【程序36】【筛选法】
3题目:
求100之内的素数
4'''
5a=[0]G101
6foriinrange(2,11):
7forjinrange(i+i,101,i):
8a[j]=-1;
9foriinrange(2,101):
10ifa[i]!
=-1:
11print'',i,
1'''
2【程序37】
3题目:
对10个数进行排序
4'''
5print'input10numbersplease:
'
6l=[]
7foriinrange(10):
8l.append(int(raw_input('Inputanumber:
')))
9#可以直接使用sort函数:
l.sort()
10#也可以自己写排序代码(选择排序)
11foriinrange(9):
12forjinrange(i+1,10):
13ifl[j] 14temp=l[j] 15l[j]=l[i] 16l[i]=temp 17printl 1''' 2【程序38】 3题目: 求一个3G3矩阵对角线元素之和 4''' 5l=[] 6foriinrange(3): 7forjinrange(3): 8l.append(int(raw_input('Inputanumber: '))) 9s=0 10foriinrange(3): 11s+=l[3Gi+i] 12prints 1''' 2【程序39】 3题目: 有一个已经排好序的数组。 现输入一个数,要求按原来的规律将它插入数组中。 4''' 5l=[0,10,20,30,40,50] 6 7print'Thesortedlistis: ',l 8cnt=len(l) 9n=int(raw_input('Inputanumber: ')) 10l.append(n) 11foriinrange(cnt): 12ifn 13forjinrange(cnt,i,-1): 14l[j]=l[j-1] 15l[i]=n 16break 17print'Thenewsortedlistis: ',l 1''' 2【程序40】 3题目: 将一个数组逆序输出。 4''' 5a=[1,2,3,4,5,6,7,8,9] 6l=len(a) 7printa 8foriinrange(l/2): 9a[i],a[l-i-1]=a[l-i-1],a[i]#注意此句 10printa 1''' 2【程序41】 3题目: 学习static定义静态变量的用法 4题目: 学习使用auto定义变量的用法 5题目: 学习使用eGternal的用法 6题目: 学习使用register定义变量的方法 7题目: 宏#define命令练习 8''' 9#Python没有这些功能 1''' 2演示lambda的使用。 3''' 4MAGIMUM=lambdaG,y: (G>y)GG+(G 5MINIMUM=lambdaG,y: (G>y)Gy+(G 6 7if__name__=='__main__': 8a=10 9b=20 10print'Thelargaroneis%d'%MAGIMUM(a,b) 11print'Theloweroneis%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=1 8 9题目: 学习使用按位异或^。 10程序分析: 0^0=0;0^1=1;1^0=1;1^1=0 11 12题目: 学习使用按位取反~。 13程序分析: ~0=1;~1=0 14 15''' 16a=077#8进制 17b=a&3 18print'077&3=%d'%b 19b&=7 20print'077&3&7=%d'%b 21 22a=077 23b=a|3 24print'077|3=%d'%b 25b|=7 26print'077|3|7=%d'%b 27 28a=077 29b=a^3 30print'077^3=%d'%b 31b^=7 32print'077^3^7=%d'%b 1''' 2【程序54】 3题目: 取一个整数a从右端开始的4~7位。 4''' 5a=100 6print100&0G00F0 1''' 2【程序56】 3题目: 画圆【Tkinter模块】 4''' 5if__name__=='__main__': 6fromTkinterimportG 7 8canvas=Canvas(width=800,height=600,bg='red') 9canvas.pack(eGpand=YES,fill=BOTH) 10k=1 11j=1 12foriinrange(0,26): 13canvas.create_oval(310-k,250-k,310+k,250+k,width=1) 14k+=j 15j+=0.3 16 17mainloop() 1''' 2【程序57】 3题目: 画直线。 41.程序分析: 52.程序源代码: 6''' 7if__name__=='__main__': 8fromTkinterimportG 9 10canvas=Canvas(width=300,height=300,bg='green') 11canvas.pack(eGpand=YES,fill=BOTH) 12G0=263 13y0=263 14y1=275 15G1=275 16foriinrange(19): 17canvas.create_line(G0,y0,G0,y1,width=1,fill='red') 18G0=G0-5 19y0=y0-5 20G1=G1+5 21y1=y1+5 22 23G0=263 24y1=275 25y0=263 26foriinrange(21): 27canvas.create_line(G0,y0,G0,y1,fill='red') 28G0+=5 29y0+=5 30y1+=5 31 32mainloop() 1''' 2【程序58】 3题目: 画方形。 4''' 5if__name__=='__main__': 6fromTkinterimportG 7root=Tk() 8root.title('Canvas') 9canvas=Canvas(root,width=400,height=400,bg='yellow') 10G0=263 11y0=263 12y1=275 13G1=275 14foriinrange(19): 15canvas.create_rectangle(G0,y0,G1,y1) 16G0-=5 17y0-=5 18G1+=5 19y1+=5 20 21canvas.pack() 22root.mainloop() 1''' 2题目: 画图,综合例子。 31.程序分析: 42.程序源代码: 5''' 6if__name__=='__main__': 7fromTkinterimportG 8canvas=Canvas(width=300,height=300,bg='green') 9canvas.pack(eGpand=YES,fill=BOTH) 10G0=150 11y0=100 12canvas.create_oval(G0-10,y0-10,G0+10,y0+10) 13canvas.create_oval(G0-20,y0-20,G0+20,y0+20) 14canvas.create_oval(G0-50,y0-50,G0+50,y0+50) 15importmath 16B=0.809 17foriinrange(16): 18a=2Gmath.pi/16Gi 19G=math.ceil(G0+48Gmath.cos(a)) 20y=math.ceil(y0+48Gmath.sin(a)GB) 21canvas
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 优选 python 经典 例题 100 doc