python语言经典入门级案例(含源代码)_第1页
python语言经典入门级案例(含源代码)_第2页
python语言经典入门级案例(含源代码)_第3页
python语言经典入门级案例(含源代码)_第4页
python语言经典入门级案例(含源代码)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ython 经典入门级案例(含源代码)案例一:题目: 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?程序分析:可填在百位、十位、个位的数字都是1、 2、 3、 4。组成所有的排列后再去掉不满足条件的排列。程序源代码:#!/usr/bin/python# -*- coding: UTF-8 -*-for i in range(1,5):for j in range(1,5):for k in range(1,5):if( i != k ) and (i != j) and (j != k):print i,j,k以上实例输出结果为:123124132134142

2、143213214231234241243312314321324341342412413421423431432案例二:题目: 企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?程序分析:请利用数轴来分界,定

3、位。注意定义时需把奖金定义成长整型。程序源代码:#!/usr/bin/pythoni = int(raw_input(净利润:)arr = 1000000,600000,400000,200000,100000,0rat = 0.01,0.015,0.03,0.05,0.075,0.1r = 0for idx in range(0,6):if iarridx:r+=(i-arridx)*ratidxprint (i-arridx)*ratidxi=arridx print r以上实例输出结果为:净利润 :1200001500.010000.011500.0案例三:题目: 一个整数,它加上100

4、后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?程序分析:假设该数为x。1、则: x + 100 = n2, x + 100 + 168 = m22、计算等式:m2 - n2 = (m + n)(m - n) = 1683、设置: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 i j and (

5、i + j) % 2 = 0 and (i - j) % 2 = 0 :m = (i + j) / 2n = (i - j) / 2x = n * n - 100print(x)以上实例输出结果为:-99212611581案例四:题目: 输入某年某月某日,判断这一天是这一年的第几天?程序分析:以 3 月 5 日为例,应该先把前两个月的加起来,然后再加上 5 天即本年的第几天,特殊情况,闰年且输入月份大于2 时需考虑多加一天:程序源代码:#!/usr/bin/python# -*- coding: UTF-8 -*-year = int(raw_input(year:n)month = int(

6、raw_input(month:n)day = int(raw_input(day:n)months = (0,31,59,90,120,151,181,212,243,273,304,334)if 0 month 2):sum += 1print it is the %dth day. % sum以上实例输出结果为:year:2015month:day:it is the 158th day.案例五:题目: 输入三个整数x,y,z,请把这三个数由小到大输出。程序分析:我们想办法把最小的数放到x 上,先将x 与 y进行比较,如果 xy 则将 x与 y的值进行交换,然后再用x与 z进行比较,如果

7、xz 则将 x与 z的值进行交换,这样能使x最小。程序源代码:#!/usr/bin/python# -*- coding: UTF-8 -*-l = for i in range(3):x = int(raw_input(integer:n) l.append(x)l.sort( ) print l以上实例输出结果为:integer:8integer:5integer:65, 6, 8案例六:题目: 输出 9*9 乘法口诀表。程序分析:分行与列考虑,共9 行 9 列, i 控制行, j 控制列。程序源代码:#!/usr/bin/python-*- coding: UTF-8 -*-for i

8、in range(1, 10):printfor j in range(1, i+1):print %d*%d=%d % (i, j, i*j),以上实例输出结果为:1*1=12*1=2 2*2=43*1=3 3*2=6 3*3=94*1=4 4*2=8 4*3=12 4*4=165*1=5 5*2=10 5*3=15 5*4=20 5*5=256*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=367*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=498*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=4

9、8 8*7=56 8*8=649*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81案例七:题目: 古典问题:有一对兔子,从出生后第3 个月起每个月都生一对兔子, 小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?程序分析:兔子的规律为数列1,1,2,3,5,8,13,21 程序源代码:实例(Python 2.0+)#!/usr/bin/python-*- coding: UTF-8 -*-f1 = 1f2 = 1 for i in range(1,22):print %12ld %12ld %

10、 (f1,f2),if (i % 3) = 0:print f1 = f1 + f2f2 = f1 + f2以上实例输出结果为: TOC o 1-5 h z 11235813213455891442333776109871597258441816765109461771128657463687502512139319641831781151422983204013462692178309352457857028879227465 1493035224157817 3908816963245986 102334155 165580141 267914296案例八:题目: 判断101-200之间有多少个素数,并输出所有素数。程序分析:判断素数的方法:用一个数分别去除2 到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。程序源代码:#!/usr/bin/python# -*- coding: UTF-8 -*-h = 0leap = 1from math import sqrtfrom sys import stdoutfor m in range(101,201):k = int(sqrt(m + 1)for i in range(2,k + 1):if m % i = 0:leap = 0break if

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论