Python100个小例子.docx

上传人:b****0 文档编号:10110572 上传时间:2023-05-23 格式:DOCX 页数:20 大小:24.80KB
下载 相关 举报
Python100个小例子.docx_第1页
第1页 / 共20页
Python100个小例子.docx_第2页
第2页 / 共20页
Python100个小例子.docx_第3页
第3页 / 共20页
Python100个小例子.docx_第4页
第4页 / 共20页
Python100个小例子.docx_第5页
第5页 / 共20页
Python100个小例子.docx_第6页
第6页 / 共20页
Python100个小例子.docx_第7页
第7页 / 共20页
Python100个小例子.docx_第8页
第8页 / 共20页
Python100个小例子.docx_第9页
第9页 / 共20页
Python100个小例子.docx_第10页
第10页 / 共20页
Python100个小例子.docx_第11页
第11页 / 共20页
Python100个小例子.docx_第12页
第12页 / 共20页
Python100个小例子.docx_第13页
第13页 / 共20页
Python100个小例子.docx_第14页
第14页 / 共20页
Python100个小例子.docx_第15页
第15页 / 共20页
Python100个小例子.docx_第16页
第16页 / 共20页
Python100个小例子.docx_第17页
第17页 / 共20页
Python100个小例子.docx_第18页
第18页 / 共20页
Python100个小例子.docx_第19页
第19页 / 共20页
Python100个小例子.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Python100个小例子.docx

《Python100个小例子.docx》由会员分享,可在线阅读,更多相关《Python100个小例子.docx(20页珍藏版)》请在冰点文库上搜索。

Python100个小例子.docx

Python100个小例子

一、Python练习实例1

题目:

有四个数字:

1、2、3、4,能组成多少个互不相同且无重复数字的三位数?

各是多少?

程序分析:

可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列

后再去掉不满足条件的排列。

程序源代码:

#!

/usr/bin/python

#-*-coding:

UTF-8-*-

foriinrange(1,5):

forjinrange(1,5):

forkinrange(1,5):

if(i!

=k)and(i!

=j)and(j!

=k):

print(i,j,k)

二、Python练习实例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,求应发放奖金总数?

程序分析:

请利用数轴来分界,定位。

注意定义时需把奖金定义成长整型。

程序源代码:

#!

/usr/bin/python

#-*-coding:

UTF-8-*-

i=int(input('净利润:

'))

arr=[1000000,600000,400000,200000,100000,0]

rat=[0.01,0.015,0.03,0.05,0.075,0.1]

r=0

foridxinrange(0,6):

ifi>arr[idx]:

r+=(i-arr[idx])*rat[idx]

print((i-arr[idx])*rat[idx])

i=arr[idx]

print(r)

三、Python练习实例3

题目:

一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

程序分析:

假设该数为x。

1、则:

x+100=n2,x+100+168=m2

2、计算等式:

m2-n2=(m+n)(m-n)=168

3、设置:

m+n=i,m-n=j,i*j=168,i和j至少一个是偶数

4、可得:

m=(i+j)/2,n=(i-j)/2,i和j要么都是偶数,要么都是奇数。

5、从3和4推导可知道,i与j均是大于等于2的偶数。

6、由于i*j=168,j>=2,则1

7、接下来将i的所有数字循环计算即可。

程序源代码:

#!

/usr/bin/python

#-*-coding:

UTF-8-*-

foriinrange(1,85):

if168%i==0:

j=168/i;

ifi>jand(i+j)%2==0and(i-j)%2==0:

m=(i+j)/2n=(i-j)/2

x=n*n-100print(x)

四、Python练习实例4题目:

输入某年某月某日,判断这一天是这一年的第几天?

程序分析:

以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于2时需考虑多加一天:

程序源代码:

#!

/usr/bin/python

#-*-coding:

UTF-8-*-

year=int(input('year:

\n'))

month=int(input('month:

\n'))

day=int(input('day:

\n'))

months=(0,31,59,90,120,151,181,212,243,273,304,334)

if0

sum=months[month-1]

else:

print

'dataerror'

sum+=day

leap=0

if(year%400==0)or((year%4==0)and(year%100!

=0)):

leap=1

if(leap==1)and(month>2):

sum+=1

print('itisthe%dthday.'%sum)

五、Python练习实例5题目:

输入三个整数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(input('integer:

\n'))l.append(x)

l.sort()

print(l)

六、Python练习实例6题目:

斐波那契数列。

程序分析:

斐波那契数列(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+breturna

#输出了第10个斐波那契数列print(fib(10))

#使用递归

deffib(n):

ifn==1orn==2:

return1

returnfib(n-1)+fib(n-2)

#输出了第10个斐波那契数列print(fib(10))deffib(n):

ifn==1:

return[1]

ifn==2:

return[1,1]

fibs=[1,1]

foriinrange(2,n):

fibs.append(fibs[-1]+fibs[-2])

returnfibs

#输出前10个斐波那契数列print(fib(10))

七、Python练习实例7题目:

将一个列表的数据复制到另一个列表中。

程序分析:

使用列表[:

]。

程序源代码:

#!

/usr/bin/python

#-*-coding:

UTF-8-*-a=[1,2,3]b=a[:

]print(b)

八、Python练习实例8题目:

输出9*9乘法口诀表。

程序分析:

分行与列考虑,共9行9列,i控制行,j控制列程序源代码:

foriinrange(1,10):

forjinrange(1,i+1):

print("""%d*%d=%d"""%(i,j,i*j),end="")print()

九、Python练习实例9题目:

暂停一秒输出。

程序分析:

使用time模块的sleep()函数#!

/usr/bin/python

#-*-coding:

UTF-8-*-importtimemyD={1:

'a',2:

'b'}forkey,valueindict.items(myD):

print(key,value)time.sleep

(1)#暂停1秒

十、Python练习实例10题目:

暂停一秒输出,并格式化当前时间。

程序分析:

无。

程序源代码:

#!

/usr/bin/python

#

%H:

%M:

%S',time.localtime(time.time())))

%H:

%M:

%S',time.localtime(time.time())))

-*-coding:

UTF-8-*-importtimeprint(time.strftime('%Y-%m-%d

#暂停一秒

time.sleep

(1)print(time.strftime('%Y-%m-%d十一、Python练习实例11Python100例Python100例题目:

古典问题:

有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

程序分析:

兔子的规律为数列1,1,2,3,5,8,13,21

程序源代码:

#!

/usr/bin/python

#-*-coding:

UTF-8-*-

f1=1

f2=1

foriinrange(1,22):

print('%12ld%12ld'%(f1,f2),),

if(i%3)==0:

print('')

f1=f1+f2

f2=f1+f2

十二、Python练习实例12题目:

判断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)十三、Python练习实例13题目:

打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。

例如:

153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

程序分析:

利用for循环控制100-999个数,每个数分解出个位,十位,百位。

程序源代码:

print("100-999之间的水仙花数有:

")

foriinrange(100,999):

j=int(i/1%10)#个位使用int的原因是强转故意让其损失精度,Python中使用此方法获取时必须强转因为Python中默认保留小数

k=int(i/10%10)#十位

m=int(i/100%10)#百位

ifi==(j**3+k**3+m**3):

print(i)

十四、Python练习实例14题目:

将一个正整数分解质因数。

例如:

输入90,打印出90=2*3*3*5。

程序分析:

对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤

完成:

(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

⑵如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。

⑶如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

程序源代码:

while1:

n=int(input('请输入一个整数:

'))

print('%d='%n,end='')

whilen>1:

foriinrange(2,n+1):

ifn%i==0:

n=int(n/i)

ifn==1:

print('%d'%i,end='')else:

print('%d*'%i,end='')

break

print()

十五、Python练习实例15题目:

利用条件运算符的嵌套来完成此题:

学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

程序分析:

程序分析:

(a>b)?

a:

b这是条件运算符的基本例子。

程序源代码:

#!

/usr/bin/python

#-*-coding:

UTF-8-*-

score=int(input('输入分数:

\n'))

ifscore>=90:

grade='A'

elifscore>=60:

grade='B'else:

grade='C'print('%d属于%s'%(score,grade))十六、Python练习实例16题目:

输出指定格式的日期。

程序分析:

使用datetime模块。

#!

/usr/bin/python

#-*-coding:

UTF-8-*-importdatetimeif__name__=='__main__':

#输出今日日期,格式为dd/mm/yyyy。

更多选项可以查看strftime()法

print(datetime.date.today().strftime('%d/%m/%Y'))

#创建日期对象miyazakiBirthDate=datetime.date(1941,1,5)print(miyazakiBirthDate.strftime('%d/%m/%Y'))

#日期算术运算

miyazakiBirthNextDay=miyazakiBirthDatedatetime.timedelta(days=1)

print(miyazakiBirthNextDay.strftime('%d/%m/%Y'))

#日期替换miyazakiFirstBirthdaymiyazakiBirthDate.replace(year=miyazakiBirthDate.year+1)print(miyazakiFirstBirthday.strftime('%d/%m/%Y'))十七、Python练习实例17题目:

输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

程序分析:

利用while或for语句,条件为输入的字符不为'\n'。

#!

/usr/bin/python

#-*-coding:

UTF-8-*-importstrings=input('请输入一个字符串:

\n')letters=0space=0digit=0others=0

i=0whilei

c=s[i]

i+=1

ifc.isalpha():

letters+=1elifc.isspace():

space+=1

elifc.isdigit():

digit+=1

else:

others+=1

print('char=%d,space=%d,digit=%d,others=%d'%(letters,space,digit,others))十八、Python练习实例18

题目:

求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。

例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。

程序分析:

关键是计算出每一项的值。

程序源代码:

#!

/usr/bin/python

#-*-coding:

UTF-8-*-

Tn=0

Sn=[]n=int(input('n='))a=int(input('a='))forcountinrange(n):

Tn=Tn+aa=a*10Sn.append(Tn)print(Tn)

Sn=reduce(lambdax,y:

x+y,Sn)print("计算和为:

",Sn)十九、Python练习实例19题目:

一个数如果恰好等于它的因子之和,这个数就称为"完数"。

例如6=1+2+3.编程找出1000以内的所有完数。

程序分析:

请参照程序Python练习实例14。

程序源代码:

#!

/usr/bin/python

#-*-coding:

UTF-8-*-fromsysimportstdoutforjinrange(2,1001):

k=[]n=-1s=jforiinrange(1,j):

ifj%i==0:

n+=1

s-=i

k.append(i)

ifs==0:

print(j)

foriinrange(n):

stdout.write(str(k[i]))stdout.write('')

print(k[n])

二十、Python练习实例20

题目:

一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?

第10次反弹多高?

程序分析:

无程序源代码:

#!

/usr/bin/python

#-*-coding:

UTF-8-*-

tour=[]height=[]hei=100.0#起始高度tim=10#次数foriinrange(1,tim+1):

#从第二次开始,落地时的距离应该是反弹高度乘以2(弹到最高点再落下)ifi==1:

tour.append(hei)

else:

tour.append(2*hei)

hei/=2

height.append(hei)

print('总高度:

tour={0}'.format(sum(tour)))

print('第10次反弹高度:

height={0}'.format(height[-1]))二十一、Python练习实例21题目:

猴子吃桃问题:

猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。

以后每天早上都吃了前一天剩下的一半零一个。

到第10天早上想再吃时,见只剩下一个桃子了。

求第一天共摘了多少。

程序分析:

采取逆向思维的方法,从后往前推断。

程序源代码:

#!

/usr/bin/python

#-*-coding:

UTF-8-*-

x2=1

fordayinrange(9,0,-1):

x1=(x2+1)*2

x2=x1

print(x1)

x,y,z

比,c

二十二、Python练习实例22题目:

两个乒乓球队进行比赛,各出三人。

甲队为a,b,c三人,乙队为三人。

已抽签决定比赛名单。

有人向队员打听比赛的名单。

a说他不和x说他不和x,z比,请编程序找出三队赛手的名单。

程序源代码:

#!

/usr/bin/python

#-*-coding:

UTF-8-*-

foriinrange(ord('x'),ord('z')+1):

forjinrange(ord('x'),ord('z')+1):

ifi!

=j:

forkinrange(ord('x'),ord('z')+1):

if(i!

=k)and(j!

=k):

if(i!

=ord('x'))and(k!

=ord('x'))and(k!

=

ord('z')):

print('orderisa--%s\tb--%s\tc--%s'%

(chr(i),chr(j),chr(k)))

二十三、Python练习实例23

题目:

打印出如下图案(菱形):

*****

*******

*****

程序分析:

先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for循环,第一层控制行,第二层控制列。

程序源代码:

#!

/usr/bin/python

#-*-coding:

UTF-8-*-fromsysimportstdoutforiinrange(4):

forjinrange(2-i+1):

stdout.write('')

forkinrange(2*i+1):

stdout.write('*')

print('\n')foriinrange(3):

forjinrange(i+1):

stdout.write('')

forkinrange(4-2*i+1):

stdout.write('*')

求出这个数列的

print('\n')二十四、Python练习实例24题目:

有一分数序列:

2/1,3/2,5/3,8/5,13/8,21/13...前20项之和。

程序分析:

请抓住分子与分母的变化规律。

程序源代码:

方法一:

#!

/usr/bin/python

#-*-coding:

UTF-8-*-a=2.0b=1.0s=0forninrange(1,21):

s+=a/b

t=a

a=a+b

b=tprint(s)二十五、Python练习实例25题目:

求1+2!

+3!

+...+20!

的和。

程序分析:

此程序只是把累加变成了累乘。

#!

/usr/bin/python

#-*-coding:

UTF-8-*-n=0s=0t=1forninrange(1,21):

t*=n

s+=tprint('1!

+2!

+3!

+...+20!

=%d'%s)二十六、Python练习实例26题目:

利用递归方法求5!

程序分析:

递归公式:

fn=fn_1*4!

程序源代码:

#!

/usr/bin/python#-*-coding:

UTF-8-*-deffact(j):

sum=0

ifj==0:

sum=1

else:

sum=j

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2