python经典例题100道复习课程Word文件下载.docx
《python经典例题100道复习课程Word文件下载.docx》由会员分享,可在线阅读,更多相关《python经典例题100道复习课程Word文件下载.docx(23页珍藏版)》请在冰豆网上搜索。
【程序3】
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少
【感谢12楼的同学peiqianggao提供代码】
#-*-coding:
utf-8-*-
Createdon2015-6-7
#第三题:
@author:
Administrator
importmath
num=1
whileTrue:
if(num+100)-int(num+100))==0and(num+268)-int(num+268))==0:
print(num)
break
num+=1
【程序4】
输入某年某月某日,判断这一天是这一年的第几天
1#author:
叛军
2importdatetime
3importtime
4dtstr=str(raw_input('
Enterthedatetime:
():
5dt="
%Y%m%d"
)
6another_dtstr=dtstr[:
4]+'
0101'
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'
8for