python经典例题100道.docx

上传人:b****5 文档编号:28521768 上传时间:2023-07-18 格式:DOCX 页数:26 大小:26.73KB
下载 相关 举报
python经典例题100道.docx_第1页
第1页 / 共26页
python经典例题100道.docx_第2页
第2页 / 共26页
python经典例题100道.docx_第3页
第3页 / 共26页
python经典例题100道.docx_第4页
第4页 / 共26页
python经典例题100道.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

python经典例题100道.docx

《python经典例题100道.docx》由会员分享,可在线阅读,更多相关《python经典例题100道.docx(26页珍藏版)》请在冰豆网上搜索。

python经典例题100道.docx

python经典例题100道

【程序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#

2i=int(raw_input(’Entertheprofit:

'))

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

4rat=[0、01,0。

015,0。

03,0、05,0.075,0。

1]

5r=0

 6foridx in range(0,6):

 7  ifi〉arr[idx]:

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

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

10   i=arr[idx]

11printr

【程序3】

题目:

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

【感谢12楼得同学peiqianggao提供代码】

# —*-coding:

utf-8-*-

'''

Created on 2015-6—7

#第三题:

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

@author:

 Administrator

'’’

import math

num= 1

while True:

  if math.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

3 importtime

4 dtstr= str(raw_input('Enterthedatetime:

(20151215):

'))

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】

题目:

输入三个整数x,y,z,请把这三个数由小到大输出。

【程序8】ﻫ题目:

输出9*9口诀。

1foriinrange(1,10):

2 forjinrange(1,i+1):

3  printi,’*',j,’=',i*j,

4print’'

 

【程序11】ﻫ题目:

古典问题:

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

1 a=1

2b= 1

3foriin range(1,21,2):

4  print'%d%d’%(a,b),

5 a += b

6 b+=a

【程序12】

题目:

判断101-200之间有多少个素数,并输出所有素数。

 1#!

/usr/bin/python

 2 #—*-coding:

utf—8-*—

3frommathimportsqrt 

 4 def main():

5   foriinrange(101,201):

6  flag= 1

 7    k= int(sqrt(i))

8   for jinrange(2,k+1):

9 ifi%j==0:

10   flag =0

11     break

12    ifflag==1:

13print'%5d’%(i),

14 

15if __name__=="__main__”:

16   main()

【程序13】ﻫ题目:

打印出所有得“水仙花数”,所谓“水仙花数”就是指一个三位数,其各位数字立方与等于该数本身。

例如:

153就是一个“水仙花数”,因为153=1得三次方+5得三次方+3得三次方。

 

1#!

/usr/bin/python

2#-*-coding:

utf—8 -*-

3def main():

4 foriin range(100,1000):

5    a=i%10

6 b= i/100

 7c = (int(i/10))%10

 8 ifi==a**3+b**3+c**3:

 9 print"%5d"%(i),

10 

11if__name__==”__main__":

12 main()

【程序14】ﻫ题目:

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

例如:

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

1#!

/usr/bin/python

2#—*- coding:

utf-8-*—

 3

 4defmain():

 5  n=int(raw_input(’Enteranumber:

'))

6printn,'=',

7  while(n!

=1):

8 for iin range(2,n+1):

9  if (n%i)==0:

10     n/=i

11    if(n==1):

12        print '%d'%(i)

13   else:

14    print'%d*’%(i),

15     break

16     

17   

18 if __name__== "__main__":

19 main()

【程序15】ﻫ题目:

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

学习成绩〉=90分得同学用A表示,60—89分之间得用B表示,60分以下得用C表示。

 

 1#!

/usr/bin/python

 2#-*-coding:

utf—8—*-

3 def main():

4 s= int(raw_input(’Enter anumber:

'))

5ifs>=90:

6   grade=’A'

 7  elifs>=60:

8  grade='B’

9 else:

10  grade= ’C'

11printgrade,

12

13if __name__== '__main__’:

14 main()

【程序17】ﻫ题目:

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

1 #!

/usr/bin/python

 2#-*- coding:

utf-8—*—

3#thereisno ++operator inPython

4importstring

5defmain():

6   s=raw_input('input astring:

')

7  letter = 0

8 space =0

9 digit= 0

10   other =0

11 forcins:

12  ifc、isalpha():

13  letter+=1

14elifc。

isspace():

15     space+=1

16 elifc。

isdigit():

17   digit+=1

18   else:

19 other+=1

20   print’There are%d letters,%dspaces,%d digitsand %d othercharacters in yourstring。

’%(letter,space,digit,other)

21

22 if__name__ =='__main__':

23  main()

【程序18】

题目:

求s=a+aa+aaa+aaaa+aa。

a得值,其中a就是一个数字。

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

 

1 #!

/usr/bin/python

2#—*-coding:

utf—8-*-

3defmain():

 4  basis=int(raw_input("Inputthebasis number:

”))

5    n=int(raw_input("Input thelongestlengthof number:

"))

6   b= basis

7 sum= 0

 8  foriinrange(0,n):

9ifi==n—1:

10     print "%d”%(basis),

11else:

12      print”%d+”%(basis),

13   sum+=basis

14  basis= basis*10+b

15 print’=%d'%(sum),

16 

17 

18if__name__=='__main__’:

19main()

 【程序19】ﻫ题目:

一个数如果恰好等于它得因子之与,这个数就称为“完数”。

例如6=1+2+3.编程

  找出1000以内得所有完数。

1from math importsqrt

2 n =int(raw_input('inputanumber:

'))

3 sum =n*-1

 4k= int(sqrt(n))

5foriin range(1,k+1):

6ifn%i== 0:

 7 sum +=n/i

8 sum+=i

9ifsum== n:

10 print'YES'

11else:

12print’NO'

 

1’''

2【程序20】

3题目:

一球从100米高度自由落下,每次落地后反跳回原高度得一半;再落下,求它在

4 第10次落地时,共经过多少米?

第10次反弹多高?

5’'’

6s= 100.

7h=50.0

 8 for iinrange(2,11):

 9  s +=2*h

10h /= 2

11 print”thesumlength of path:

%f"%s

12print"thelast height is:

%f"%h

 

1''’

2 【程序21】

3 题目:

猴子吃桃问题:

猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个

4  第二天早上又将剩下得桃子吃掉一半,又多吃了一个。

以后每天早上都吃了前一天剩下

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

求第一天共摘了多少。

6’'’

 7n =1

8foriinrange(9,0,-1):

 9  n=(n+1)<〈1

10 print n

 

1 ''’

2★

3【程序22】

4题目:

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

甲队为a,b,c三人,乙队为x,y,z三人。

已抽签决定

5   比赛名单。

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

a说她不与x比,c说她不与x,z比,请编程序找出

6 三队赛手得名单。

 

 7'''

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

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

10    ifi!

=j:

11    fork inrange(ord(’x'),ord(’z')+1):

12  if(i!

= k)and(j !

= k):

13     if(i!

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

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

=ord('z')):

14       print 'orderisa--%s\t b—-%s\tc-—%s'% (chr(i),chr(j),chr(k))

 

1’''

 2【程序23】

3题目:

打印出如下图案(菱形)

 4

5*

6***

7*****

 8*******

9*****

10***

11 *

12 '’'

13 foriinrange(1,8,2):

14  print ''*(4—(i+1)/2)+'*'*i

15foriinrange(5,0,-2):

16  print' '*(4—(i+1)/2)+'*'*i

 

1’'’

 2【程序24】

 3题目:

有一分数序列:

2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列得前20项之与。

4 '’’

5 u=2.0

6d=1、0

 7s=0、0

8foriinrange(0,20):

 9  s=s+u/d

10 u=u+d

11  d=u-d

12print'%f'%s

 

1 '''

2【程序25】 

3题目:

求1+2!

+3!

+。

、.+20!

得与

4''’

5 s=0

6t =1

 7 fori inrange(1,21):

8t*=i

9   s+=t

10prints

 

1’’’

 2【程序26】

3 题目:

利用递归方法求5!

4'''

5deffun(i):

6 ifi==1:

 7return1

8returni*fun(i-1)

9

10printfun(5)

 

1’''

2【程序27】

 3题目:

利用递归函数调用方式,将所输入得5个字符,以相反顺序打印出来。

4’'’

5def output(s,l):

6 ifl==0:

7     return

8 prints[l—1]

9    output(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:

9 return10

10 returnfun(i-1)+2

11 

12printfun(5)

 

1'''

2 【程序29】 

 3题目:

给一个不多于5位得正整数,要求:

一、求它就是几位数,二、逆序打印出各位数字。

 4 '''

 5 def fun(i,cnt):

6 ifi==0:

7   print’Thereare%ddigitinthenumber、'%cnt

8   return

 9  printi%10,

10i/=10

11  cnt+=1

12fun(i,cnt)

13

14i=int(raw_input('Inputa number:

’))

15fun(i,0)

 

1''’

 2【程序30】

 3题目:

一个5位数,判断它就是不就是回文数。

即12321就是回文数,个位与万位相同,十位与千位相同。

   

4’’'

5ans=['Yes’,'No']

6i=int(raw_input('Input anumber(10000~99999):

’))

 7ifi<10000ori>99999:

8 print'InputError!

9 else:

10 i=str(i)

11flag= 0

12 forjinrange(0,2):

13  if i[j]!

=i[4-j]:

14     flag= 1

15   break

16   printans[flag]

 

1’'’

2【程序36】【筛选法】

3题目:

求100之内得素数 

4'''

5a=[0]*101

6 fori inrange(2,11):

 7 forjinrange(i+i,101,i):

8    a[j]=-1;

9foriinrange(2,101):

10 if a[i]!

=-1:

11print ’’,i,

 

1'''

2 【程序37】

 3题目:

对10个数进行排序

4 '’'

5print 'input10 numbers please:

'

6 l=[]

7foriinrange(10):

8  l。

append(int(raw_input(’Inputanumber:

')))

 9 #可以直接使用sort函数:

l、sort()

10#也可以自己写排序代码(选择排序)

11foriinrange(9):

12forj in range(i+1,10):

13if l[j]

14temp = l[j]

15    l[j]=l[i]

16 l[i] =temp   

17printl

 

1'''

2【程序38】

3 题目:

求一个3*3矩阵对角线元素之与 

4’’’

5 l = []

6foriinrange(3):

7forjinrange(3):

 8   l、append(int(raw_input('Input anumber:

')))

9s=0

10foriinrange(3):

11 s += l[3*i+i]

12prints

 

 1’''

2 【程序39】

3题目:

有一个已经排好序得数组。

现输入一个数,要求按原来得规律将它插入数组中、

4 ''’

5l=[0,10,20,30,40,50]

6

7print 'Thesortedlistis:

',l

8 cnt=len(l)

9n =int(raw_input(’Input anumber:

’))

10l、append(n)

11fori in range(cnt):

12 ifn

13    for jinrange(cnt,i,-1):

14   l[j]=l[j—1]

15   l[i] =n

16break

17print ’Thenewsorted listis:

',l

 

1 ''’

2【程序40】

3题目:

将一个数组逆序输出。

4''’

5a= [1,2,3,4,5,6,7,8,9]

6l =len(a)

7print a

 8fori inrange(l/2):

9 a[i],a[l-i—1]=a[l-i—1],a[i]#注意此句

10 printa

 

1 ’’'

2 【程序41】

3题目:

学习static定义静态变量得用法  

4题目:

学习使用auto定义变量得用法

5 题目:

学习使用external得用法

6 题目:

学习使用register定义变量得方法

7题目:

宏#define命令练习

8''’

9#Python没有这些功能

 

 1'''

 2演示lambda得使用。

3'’'

4MAXIMUM=lambda x,y:

(x >y)*x+(x 〈y)*y

5MINIMUM = lambdax,y :

 (x〉 y) *y+(x <y) *x

6

7if__name__=='__main__’:

8  a= 10

 9b =20

10  print'The largarone is%d'%MAXIMUM(a,b)

11   print 'Theloweroneis%d' %MINIMUM(a,b)

 

1'’'

2【程序51】

3题目:

学习使用按位与&。

 4程序分析:

0&0=0;0&1=0; 1&0=0;1&1=1

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进制

17 b = a&3

18 print ’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

32 print’077^3^7=%d’%b

 

1 '’’

2【程序54】

3题目:

取一个整数a从右端开始得4~7

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1