python100例.docx
《python100例.docx》由会员分享,可在线阅读,更多相关《python100例.docx(272页珍藏版)》请在冰豆网上搜索。
python100例
题目:
有四个数字:
1、2、3、4,能构成多少个互不相同且无重复数字的三位数各是多少
程序剖析:
可填在百位、十位、个位的数字都是1、2、3、4。
构成所有的摆列后再去掉不知足
条件的摆列。
程序源代码:
实例(Python+)
#!
/usr/bin/python
#-*-coding:
UTF-8-*-foriinrange(1,5):
forjinrange(1,5):
forkinrange(1,5):
if(i!
=k)and(i!
=j)and(j!
=k):
printi,j,k
以上实例输出结果为:
123
124
132
134
142
143
213
214
231
234
241
243
312
314
321
324
341
342
412
413
421
423
431
432
Python练习实例2
Python100例
题目:
公司发放的奖金依据收益提成。
收益(I)低于或等于10万元时,奖金可提10%;收益高于
10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成%;20
万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,
可提成3%;60万到100万之间时,高于60万元的部分,可提成%,高于100万元时,超出100
万元的部分按1%提成,从键盘输入当月收益I,求应发放奖金总数
程序剖析:
请利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
程序源代码:
实例(Python+)
#!
/usr/bin/python
#-*-coding:
UTF-8-*-
i=int(raw_input('净收益:
'))
arr=[1000000,600000,400000,200000,100000,0]
rat=[,,,,,]
r=0
foridxinrange(0,6):
ifi>arr[idx]:
r+=(i-arr[idx])*rat[idx]
print(i-arr[idx])*rat[idx]
i=arr[idx]
printr
以上实例输出结果为:
净收益:
120000
Python练习实例3
Python100例
题目:
一个整数,它加上100和加上268后都是一个完整平方数,请问该数是多少
程序剖析:
在10000以内判断,将该数加上100后再开方,加上268后再开方,假如开方后的结
果知足以下条件,即是结果。
请看详细剖析:
程序源代码:
实例(Python+)
#!
/usr/bin/python
#-*-coding:
UTF-8-*-importmath
foriinrange(10000):
#转变为整型值
x=
int
(i
+
100))
y=
int
(i
+
268))
if(x*
x==
i+100)and(y*y==i+268):
print
i
以上实例输出结果为:
21
261
1581
Python练习实例4
Python100例
题目:
输入某年某月某日,判断这天是这一年的第几日
程序剖析:
以
3月
5日为例,应当先把前两个月的加起来,
而后再加上
5天即今年的第几日,
特
殊状况,闰年且输入月份大于
2时需考虑多加一天:
程序源代码:
实例(Python+)
#!
/usr/bin/python
#-*-coding:
UTF-8-*-
year=int(raw_input('year:
\n'))
month=int(raw_input('month:
\n'))
day=int(raw_input('day:
\n'))
months=(0,31,59,90,120,151,181,212,243,273,304,334)
if0sum=months[month-1]
else:
print'dataerror'
sum+=dayleap=0
if(year%400==0)or((year%4==0)and(year%100!
=
leap=1if(leap==1)and(month>2):
sum+=1
0)):
print'itisthe%dthday.'%sum
以上实例输出结果为:
year:
2015
month:
6
day:
7
itisthe158thday.
Python练习实例5
Python100例
题目:
输入三个整数x,y,z,请把这三个数由小到大输出。
程序剖析:
我们想方法把最小的数放到x上,先将x与y进行比较,假如x>y则将x与y的值进
行交换,而后再用x与z进行比较,假如x>z则将x与z的值进行交换,这样能使x最小。
程序源代码:
#!
/usr/bin/python
#-*-coding:
UTF-8-*-
l=[]
foriinrange(3):
x=int(raw_input('integer:
\n'))
(x)
()
printl
以上实例输出结果为:
integer:
8
integer:
5
integer:
6
[5,6,8]
Python练习实例6
Python100例
目:
斐波那契数列。
程序剖析:
斐波那契数列(Fibonaccisequence),又称黄金切割数列,指的是一个数列:
0、1、1、2、3、5、8、13、21、34、⋯⋯。
在数学上,波那契数列是以的方法来定:
F0
=
0
(n=0)
F1
=
1
(n=1)
Fn
=F[n-1]+F[n-2](n=>2)
程序源代:
方法一
#!
/usr/bin/python
#-*-coding:
UTF-8-*-
deffib(n):
a,b=1,1
foriinrange(n-1):
a,b=b,a+b
returna
#输出了第10个斐波那契数列
printfib(10)
方法二
#!
/usr/bin/python
#-*-coding:
UTF-8-*-
#使用递归
deffib(n):
ifn==1orn==2:
return1
returnfib(n-1)+fib(n-2)
#输出了第10个斐波那契数列
printfib(10)
以上例出了第10个斐波那契数列,果:
55
方法三
假如你需要输出指定个数的斐波那契数列,能够使用以下代码:
#!
/usr/bin/python
#-*-coding:
UTF-8-*-
deffib
(n):
if
n
==
1:
return
[1]
if
n
==
2:
return
[1,
1]
fibs
=[1,
1]
for
i
in
range
(2,n):
(fibs
[-
1]
+fibs[-2])
return
fibs
#输出前10个斐波那契数列
printfib(10)
以上程序运转输出结果为:
[1,1,2,3,5,8,13,21,34,55]
Python练习实例7
Python100例
题目:
将一个列表的数据复制到另一个列表中。
程序剖析:
使用列表[:
]。
程序源代码:
#!
/usr/bin/python
#-*-coding:
UTF-8-*-
a=[1,2,3]
b=a[:
]printb
以上实例输出结果为:
[1,2,3]
Python练习实例8
Python100
例
题目:
输出9*9乘法口诀表。
程序剖析:
分行与列考虑,共
9行9列,i
控制行,j
控制列。
程序源代码:
9*9乘法口诀
#!
/usr/bin/python
#-*-coding:
UTF-8-*-
fori
inrange(1,10):
printforjinran
ge(1,i+1):
print
"%d*%d=%d"%(i,j,
i*j),
以上实例输出结果为:
1*
1=1
2*
1=22*2=4
3*
1=33*2=6
3*3=9
4*
1=44*2=8
4*3=12
4*4=16
5*
1=55*2=10
5*3=15
5*4=20
5*
5=25
6*
1=66*2=12
6*3=18
6*4=24
6*
5=306*6=36
7*
1=77*2=14
7*3=21
7*4=28
7*
5=357*6=42
7*7=49
8*
1=88*2=16
8*3=24
8*4=32
8*
5=408*6=48
8*7=56
8*8=64
9*
1=99*2=18
9*3=27
9*4=36
9*
5=459*6=54
9*7=63
9*8=729*9=81
Python练习实例9
Python100例
题目:
暂停一秒输出。
程序剖析:
无。
程序源代码:
#!
/usr/bin/python
#-*-coding:
UTF-8-*-importtime
myD={1:
'a'forkey,value
2:
in
'b'}
(myD):
printkey,value
(1)#暂停1秒
以上实例输出结果为(会有停留成效):
1a
2b
Python练习实例10
Python100例
题目:
暂停一秒输出,并格式化目前时间。
程序剖析:
无。
程序源代码:
#!
/usr/bin/python
#-*-coding:
UTF-8-*-importtime
print('%Y-%m-%d%H:
%M:
%S',()))
#暂停一秒
(1)
print('%Y-%m-%d%H:
%M:
%S',()))
以上实例输出结果为:
2015-10-2117:
48:
40
2015-10-2117:
48:
41
Python练习实例11
Python100例
题目:
古典问题:
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月
后每个月又生一对兔子,若是兔子都不死,问每个月的兔子总数为多少
程序剖析:
兔子的规律为数列1,1,2,3,5,8,13,21....
程序源代码:
实例(Python+)
#!
/usr/bin/python
#-*-coding:
UTF-8-*-
f1=1
f2
=
1
for
i
in
range(1,22):
print
'%12ld%12ld'
%(f1,f2),
if(i%3)
==0:
print
''
f1
=
f1
+
f2
f2=f1+f2
以上实例输出结果为:
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
10946
17711
28657
46368
75025
121393
196418
317811
514229
832040
1346269
2178309
3524578
5702887
9227465
5
1
6
Python练习实例12
Python100例
题目:
判断101-200之间有多少个素数,并输出所有素数。
程序剖析:
判断素数的方法:
用一个数分别去除2到sqrt(这个数),假如能被整除,则表示此
数不是素数,反之是素数。
程序源代码:
#!
/usr/bin/python
#-*-coding:
UTF-8-*-
h=0
leap=1
frommathimportsqrt
fromsysimportstdout
forminrange(101,201):
k=int(sqrt(m+1))
foriinrange(2,k+1):
ifm%i==0:
leap=0
break
ifleap==1:
print'%-4d'%m
h+=1
ifh%10==0:
print''
leap=1
print'Thetotalis%d'%h
以上实例输出结果为:
101
103
107
109
113
127
131
137
139
149
151
157
163
167
173
179
181
191
193
197
199
Thetotalis21
Python练习实例13
Python100例
题目:
打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数
自己。
比如:
153是一个"水仙花数",由于153=1的三次方+5的三次方+3的三次方。
程序剖析:
利用for循环控制100-999个数,每个数分解出个位,十位,百位。
程序源代码:
#!
/usr/bin/python
#-*-coding:
UTF-8-*-
forninrange(100,1000):
i
=n
/
100
j
=n
/
10
%10
k
=n
%
10
if
n
==i
**3+j**3+k**3:
print
n
以上实例输出结果为:
153
370
371
407
Python练习实例14
Python100
例
题目:
将一个正整数分解质因数。
比如:
输入
90,打印出
90=2*3*3*5
。
程序剖析:
对
n进行分解质因数,应先找到一个最小的质数
k,而后按下述步骤达成:
(1)假如这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)假如n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,
重复履行第一步。
(3)假如n不可以被k整除,则用k+1作为k的值,重复履行第一步。
程序源代码:
#!
/usr/bin/python
#-*-coding:
UTF-8-*-
defreduceNum(n):
print'{}='.format(n),
ifnotisinstance(n,int)orn<=0:
print'请输入一个正确的数字!
'
exit(0)
elifnin[1]:
print'{}'.format(n)
whilennotin[1]:
#循环保证递归
forindexinxrange(2,n+1):
ifn%index==0:
n/=index#n等于n/index
ifn==1:
printindex
else:
#index必定是素数
print'{}*'.format(index),
break
reduceNum(90)
reduceNum(100)
以上实例输出结果为:
90=2*3*3*5
100=2*2*5*5
Python练习实例15
Python100例
题目:
利用条件运算符的嵌套来达成本题:
学习成绩>=90分的同学用A表示,60-89分之间的用
B表示,60分以下的用C表示。
程序剖析:
程序剖析:
(a>b)a:
b这是条件运算符的基本例子。
程序源代码:
#!
/usr/bin/python
#-*-coding:
UTF-8-*-
score=int(raw_input('inputscore:
\n'))
ifscore>=90:
grade='A'
elifscore>=60:
grade='B'
else:
grade='C'
print'%dbelongsto%s'%(score,grade)
以上实例输出结果为:
inputscore:
100
100belongstoA
Python练习实例16
Python100例
题目:
输出指定格式的日期。
程序剖析:
使用datetime模块。
程序源代码:
#!
/usr/bin/python
#-*-coding:
UTF-8-*-importdatetime
if__name__=='__main__':
#输出今天日期,格式为dd/mm/yyyy。
更多项选择项能够查察strftime()方法
print'%d/%m/%Y'))
#创立日期对象
miyazakiBirthDate
=(1941,1,5)
print('%d/%m/%Y'))
#日期算术运算
miyazakiBirthNextDay=miyazakiBirthDate+(days=1)
print('%d/%m/%Y'))
#日期替代
miyazakiFirstBirthday=(year=+1)
print('%d/%m/%Y'))
以上实例输出结果为:
21/10/2015
05/01/1941
06/01/1941
05/01/1942
Python练习实例17
Python100例
题目:
输入一行字符,分别统计出此中英文字母、空格、数字和其他字符的个数。
程序剖析:
利用while语句,条件为输入的字符不为'\n'。
程序源代码:
#!
/usr/bin/python
#-*-coding:
UTF-8-*-
import
string
s=raw_input('inputastring:
\n'
)
letters
=0
space
=0
digit
=0
others
=0
forc
ins:
if
():
letters
+=1
elif
():
space
+=1
elif
():
digit
+=1
else:
others
+=1
print
'char=%d,space=%d,digit=%d,others=%d'
%(letters,space,digit,others)
以上实例输出结果为:
inputastring:
runoob
char=6,space=0,digit=0,others=0
Python练习实例18
Python100例
题目:
求s=a+aa+aaa+aaaa+aa...a的值,此中a是一个数字。
比如2+22+222+2222+22222(此时
共有5