Python练习实例1 题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足 条件的排列。 程序源代码: 实例(Python2.0+) #!/usr/bin/python #-*coding:UTE-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 !=k) print i,i,k 以上实例输出结果为: 123 12 132 139 142 143 213 2 23 234 241 243 314 321 324 34 413 421 423 431
Python 练习实例 1 题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析:可填在百位、十位、个位的数字都是 1、2、3、4。组成所有的排列后再去 掉不满足 条件的排列。 程序源代码: 实例(Python 2.0+) #!/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 以上实例输出结果为: 1 2 3 1 2 4 1 3 2 1 3 4 1 4 2 1 4 3 2 1 3 2 1 4 2 3 1 2 3 4 2 4 1 2 4 3 3 1 2 3 1 4 3 2 1 3 2 4 3 4 1 3 4 2 4 1 2 4 1 3 4 2 1 4 2 3 4 3 1
432 Python练习实例2 )pon100位 题目:企业发放的奖金根据利润提成。利润)低于或等于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%提成,从键盘输入当月利润1,求应发放奖金总数? 程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 程序源代码: 实例(Python2.0+) #!/usx/bin/python #-*coding:UTF-8-+- i=int(任aw_input('净利润:') axr-[1000000,600000,400000,200000,100000,0] rat-[0.01,0.015,0.03,0.05,0.075,0.11 x=0 for idy in range(0,6): if ixarr[idx]: rt-(i-arr[idx])*rat[idx] print (i-arr[idx])*rat[idx] i-arr[idx] print r 以上实例输出结果为: 净利润:120000 1500.0 10000.0 11500.0 Python练习实例3 月Phon100
4 3 2 Python 练习实例 2 Python 100 例 题目:企业发放的奖金根据利润提成。利润(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,求应发放奖金总数? 程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 程序源代码: 实例(Python 2.0+) #!/usr/bin/python # -*- coding: UTF-8 -*- i = int(raw_input('净利润:')) arr = [1000000,600000,400000,200000,100000,0] rat = [0.01,0.015,0.03,0.05,0.075,0.1] r = 0 for idx in range(0,6): if i>arr[idx]: r+=(i-arr[idx])*rat[idx] print (i-arr[idx])*rat[idx] i=arr[idx] print r 以上实例输出结果为: 净利润:120000 1500.0 10000.0 11500.0 Python 练习实例 3 Python 100 例
题目:一个整数,它加上100和加上268后都是一个完全平方数,请问该数是多少? 程序分析:在10000以内判断,将该数加上100后再开方,加上268后再开方,如果开方后的 结果满足如下条件,即是结果。请看具体分析: 程序源代码: 实例(Python2.0+) #!/usr/bin/python -coding:UTF-8-*- import math for i in range(10000): 转化为整型值 x int (math.sqrt (i+100)) y=int(math.sqrt(+268) if (xx =-i 100)and (yy==i+268) print i 以上实例输出结果为: 21 261 1581 Python练习实例4 方pon100 题目:输入某年某月某日,判断这一天是这一年的第几天? 程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天, 特殊情况,闰年且输入月份大于2时需考虑多加一天: 程序源代码: 实例(Python2.0+) !/usr/bin/python #-*-coding:UTE-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) if 0<month <-12: sum -months [month-1]
题目:一个整数,它加上 100 和加上 268 后都是一个完全平方数,请问该数是多少? 程序分析:在 10000 以内判断,将该数加上 100 后再开方,加上 268 后再开方,如果开方后的 结果满足如下条件,即是结果。请看具体分析: 程序源代码: 实例(Python 2.0+) #!/usr/bin/python # -*- coding: UTF-8 -*- import math for i in range(10000): #转化为整型值 x = int(math.sqrt(i + 100)) y = int(math.sqrt(i + 268)) if(x * x == i + 100) and (y * y == i + 268): print i 以上实例输出结果为: 21 261 1581 Python 练习实例 4 Python 100 例 题目:输入某年某月某日,判断这一天是这一年的第几天? 程序分析:以 3 月 5 日为例,应该先把前两个月的加起来,然后再加上 5 天即本年的第几天, 特殊情况,闰年且输入月份大于 2 时需考虑多加一天: 程序源代码: 实例(Python 2.0+) #!/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) if 0 < month <= 12: sum = months[month - 1]
else: print 'data error' sum +-day leap-0 if (year 400--0)or ((year 4--0)and (year1001-0)) leap =1 if (leap ==1)and (month 2): sum +-1 print 'it is the &dth day.'sum 以上实例输出结果为: year: 2015 6 day: it is the 158th day Python练习实例5 争2血n10o位 题目:输入三个整数xy,z,请把这三个数由小到大输出。 程序分桥:我们想办法把最小的数放到×上,先将×与y进行比较,如果xy则将×与y的值 进行交换,然后再用×与z进行比较,如果x>z则将×与z的值进行交换,这样能使×最小。 程序源代码: #!/usr/bin/python -*-coding:UTF-8-*- 1=[1 for i in range(3): x-int(raw_input ('integer:\n')) 1.append(x) 1.sort print 1 以上实例输出结果为: integer: 8 integer:
else: print 'data error' 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 'it is the %dth day.' % sum 以上实例输出结果为: year: 2015 month: 6 day: 7 it is the 158th day. Python 练习实例 5 Python 100 例 题目:输入三个整数 x,y,z,请把这三个数由小到大输出。 程序分析:我们想办法把最小的数放到 x 上,先将 x 与 y 进行比较,如果 x>y 则将 x 与 y 的值 进行交换,然后再用 x 与 z 进行比较,如果 x>z 则将 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: 8 integer:
5 integer 15,6,8] Python练习实例6 方Phon10nL 题目:斐波那契数列。 程序分析:斐波那契数列(Fibonacci sequence),又称黄金分制数列,指的是这样一个数列: 0、1、1、2、3、5、8、13、21、34、… 在数学上,费波那契数列是以递归的方法来定义: F0”0(a-01 E1=11n=1) m=E[n-11+F[n-2](m=>2 程序源代码: 方法一 !/us:/bin/python -*-coding:UTF-8-*- def fib(n): a,b=1,1 for i in range(n-1): a,b=b,a+b return a #输出了第10个斐波那契数列 print fib(10) 方法二 #!/usr/bin/python #-*-coding:UTF-8-+- 使用递归
5 integer: 6 [5, 6, 8] Python 练习实例 6 Python 100 例 题目:斐波那契数列。 程序分析:斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列: 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 -*- def fib(n): a,b = 1,1 for i in range(n-1): a,b = b,a+b return a # 输出了第 10 个斐波那契数列 print fib(10) 方法二 #!/usr/bin/python # -*- coding: UTF-8 -*- # 使用递归