python经典例题100道复习课程Word文档格式.docx
- 文档编号:19056427
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:23
- 大小:23.86KB
python经典例题100道复习课程Word文档格式.docx
《python经典例题100道复习课程Word文档格式.docx》由会员分享,可在线阅读,更多相关《python经典例题100道复习课程Word文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
7another_dt="
8print(int((dt-another_dt).days)+1)
【程序5】
输入三个整数x,y,z,请把这三个数由小到大输出。
【程序8】
输出9*9口诀。
1foriinrange(1,10):
2forjinrange(1,i+1):
3printi,'
*'
j,'
='
i*j,
4print'
【程序11】
古典问题:
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月
后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少
1a=1
2b=1
3foriinrange(1,21,2):
%d%d'
%(a,b),
5a+=b
6b+=a
【程序12】
判断101-200之间有多少个素数,并输出所有素数。
1#!
/usr/bin/python
2#-*-coding:
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的三次方。
3defmain():
4foriinrange(100,1000):
5a=i%10
6b=i/100
7c=(int(i/10))%10
8ifi==a**3+b**3+c**3:
9print"
%5d"
10
11if__name__=="
12main()
【程序14】
将一个正整数分解质因数。
输入90,打印出90=2*3*3*5。
3
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'
%d*'
15break
16
17
18if__name__=="
19main()
【程序15】
利用条件运算符的嵌套来完成此题:
学习成绩>
=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
4s=int(raw_input('
5ifs>
=90:
6grade='
A'
7elifs>
=60:
8grade='
B'
9else:
10grade='
C'
11printgrade,
12
13if__name__=='
__main__'
14main()
【程序17】
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
3#thereisno++operatorinPython
4importstring
5defmain():
6s=raw_input('
inputastring:
7letter=0
8space=0
9digit=0
10other=0
11forcins:
12if():
13letter+=1
14elif():
15space+=1
16elif():
17digit+=1
18else:
19other+=1
20print'
Thereare%dletters,%dspaces,%ddigitsand%dothercharactersinyourstring.'
%(letter,space,digit,other)
21
22if__name__=='
23main()
【程序18】
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
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+"
13sum+=basis
14basis=basis*10+b
15print'
=%d'
%(sum),
18if__name__=='
【程序19】
一个数如果恰好等于它的因子之和,这个数就称为“完数”。
例如6=1+2+3.编程
找出1000以内的所有完数。
1frommathimportsqrt
2n=int(raw_input('
inputanumber:
3sum=n*-1
4k=int(sqrt(n))
5foriinrange(1,k+1):
6ifn%i==0:
7sum+=n/i
8sum+=i
9ifsum==n:
10print'
YES'
NO'
1'
2【程序20】
3题目:
一球从100米高度自由落下,每次落地后反跳回原高度的一半;
再落下,求它在
4 第10次落地时,共经过多少米第10次反弹多高
5'
6s=100.
7h=
8foriinrange(2,11):
9s+=2*h
10h/=2
11print"
thesumlengthofpath:
%f"
%s
thelastheightis:
%h
2【程序21】
猴子吃桃问题:
猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个
4 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下
5 的一半零一个。
到第10天早上想再吃时,见只剩下一个桃子了。
求第一天共摘了多少。
6'
7n=1
8foriinrange(9,0,-1):
9n=(n+1)<
<
1
10printn
2★
3【程序22】
4题目:
两个乒乓球队进行比赛,各出三人。
甲队为a,b,c三人,乙队为x,y,z三人。
已抽签决定
5 比赛名单。
有人向队员打听比赛的名单。
a说他不和x比,c说他不和x,z比,请编程序找出
6 三队赛手的名单。
7'
8foriinrange(ord('
x'
),ord('
z'
)+1):
9forjinrange(ord('
10ifi!
=j:
11forkinrange(ord('
12if(i!
=k)and(j!
=k):
13if(i!
=ord('
))and(k!
)):
orderisa--%s\tb--%s\tc--%s'
%(chr(i),chr(j),chr(k))
2【程序23】
打印出如下图案(菱形)
4
5*
6***
7*****
8*******
9*****
10***
11*
12'
13foriinrange(1,8,2):
'
*(4-(i+1)/2)+'
*i
15foriinrange(5,0,-2):
16print'
2【程序24】
有一分数序列:
2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
4'
5u=
6d=
7s=
8foriinrange(0,20):
9s=s+u/d
10u=u+d
11d=u-d
%f'
2【程序25】
求1+2!
+3!
+...+20!
的和
5s=0
6t=1
7foriinrange(1,21):
8t*=i
9s+=t
10prints
2【程序26】
利用递归方法求5!
。
5deffun(i):
6ifi==1:
7return1
8returni*fun(i-1)
9
10printfun(5)
2【程序27】
利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
5defoutput(s,l):
6ifl==0:
7return
8prints[l-1]
9output(s,l-1)
11s=raw_input('
Inputastring:
12l=len(s)
13output(s,l)
2【程序28】
有5个人坐在一起,问第五个人多少岁他说比第4个人大2岁。
问第4个人岁数,他说比第
4 3个人大2岁。
问第三个人,又说比第2人大两岁。
问第2个人,说比第一个人大两岁。
最后
5 问第一个人,他说是10岁。
请问第五个人多大
7deffun(i):
8ifi==1:
9return10
10returnfun(i-1)+2
11
12printfun(5)
2【程序29】
给一个不多于5位的正整数,要求:
一、求它是几位数,二、逆序打印出各位数字。
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)
2【程序30】
一个5位数,判断它是不是回文数。
即12321是回文数,个位与万位相同,十位与千位相同。
5ans=['
Yes'
'
No'
]
6i=int(raw_input('
Inputanumber(10000~99999):
7ifi<
10000ori>
99999:
8print'
InputError!
10i=str(i)
11flag=0
12forjinrange(0,2):
13ifi[j]!
=i[4-j]:
14flag=1
16printans[flag]
2【程序36】【筛选法】
求100之内的素数
5a=[0]*101
6foriinrange(2,11):
7forjinrange(i+i,101,i):
8a[j]=-1;
9foriinrange(2,101):
10ifa[i]!
=-1:
11print'
i,
2【程序37】
对10个数进行排序
5print'
input10numbersplease:
6l=[]
7foriinrange(10):
8(int(raw_input('
)))
9#可以直接使用sort函数:
()
10#也可以自己写排序代码(选择排序)
11foriinrange(9):
12forjinrange(i+1,10):
13ifl[j]<
l[i]:
14temp=l[j]
15l[j]=l[i]
16l[i]=temp
17printl
2【程序38】
求一个3*3矩阵对角线元素之和
5l=[]
6foriinrange(3):
7forjinrange(3):
9s=0
10foriinrange(3):
11s+=l[3*i+i]
12prints
2【程序39】
有一个已经排好序的数组。
现输入一个数,要求按原来的规律将它插入数组中。
5l=[0,10,20,30,40,50]
6
Thesortedlistis:
l
8cnt=len(l)
9n=int(raw_input('
10(n)
11foriinrange(cnt):
12ifn<
13forjinrange(cnt,i,-1):
14l[j]=l[j-1]
15l[i]=n
16break
17print'
Thenewsortedlistis:
2【程序40】
将一个数组逆序输出。
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题目:
学习使用external的用法
6题目:
学习使用register定义变量的方法
7题目:
宏#define命令练习
8'
9#Python没有这些功能
2演示lambda的使用。
3'
4MAXIMUM=lambdax,y:
(x>
y)*x+(x<
y)*y
5MINIMUM=lambdax,y:
y)*y+(x<
y)*x
7if__name__=='
8a=10
9b=20
Thelargaroneis%d'
%MAXIMUM(a,b)
Theloweroneis%d'
%MINIMUM(a,b)
2【程序51】
学习使用按位与&
。
4程序分析:
0&
0=0;
0&
1=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
12题目:
学习使用按位取反~。
13程序分析:
~0=1;
~1=0
15'
16a=077#8进制
17b=a&
3
18print'
077&
3=%d'
%b
19b&
=7
3&
7=%d'
22a=077
23b=a|3
24print'
077|3=%d'
%b
25b|=7
26print'
077|3|7=%d'
27
28a=077
29b=a^3
30print'
077^3=%d'
31b^=7
32print'
077^3^7=%d'
2【程序54】
取一个整数a从右端开始的4~7位。
4'
5a=100
6print100&
0x00F0
2【程序56】
画圆【Tkinter模块】
5if__name__=='
6fromTkinterimport*
7
8canvas=Canvas(width=800,height=600,bg='
red'
)
9(expand=YES,fill=BOTH)
10k=1
11j=1
12foriinrange(0,26):
13(310-k,250-k,310+k,250+k,width=1)
14k+=j
15j+=
17mainloop()
2【程序57】
画直线。
41.程序分析:
52.程序源代码:
8fromTkinterimport*
10canvas=Canvas(width=300,height=300,bg='
green'
11(expand=YES,fil
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- python 经典 例题 100 复习 课程