方2on100@ 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000 以内的所有完数。 程序分析:请参照程序Phon练习实例14。 程序源代码: #!/usr/bin/python #-*-coding:UTF-8-+- from sys import stdout for j in range(2,1001): k=1 n=-1 for i in range (1,) 1fj81=0: n+=1 8-m1 k.append(i) if s-0: printj for i in range(n): stdout.write(str(k[i])) stdout write(') print k(n] 以上实例输出结果为: 6 123 28 124714 496 1248163162124248 Python练习实例20 于P也on100倒
Python 100 例 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如 6=1+2+3.编程找出 1000 以内的所有完数。 程序分析:请参照程序 Python 练习实例 14。 程序源代码: #!/usr/bin/python # -*- coding: UTF-8 -*- from sys import stdout for j in range(2,1001): k = [] n = -1 s = j for i in range(1,j): if j % i == 0: n += 1 s -= i k.append(i) if s == 0: print j for i in range(n): stdout.write(str(k[i])) stdout.write(' ') print k[n] 以上实例输出结果为: 6 1 2 3 28 1 2 4 7 14 496 1 2 4 8 16 31 62 124 248 Python 练习实例 20 Python 100 例
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在第10次 落地时,共经过多少米?第10次反弹多高? 程序分析:无 程序源代码: Python实例 #!/usr/bin/python#-*-coding:UTF-8-*-tour =[height =[hei =1 00.0#起始高度tim=10#次数for主in range(1,tim+1):tour.append( ei)hei/-2 height,append(hei)print('总高度:tour-(o)',format(sum(to ur))print('第10次反弹高度:height-(0'.format(height[-l]) 以上实例输出结果为, 总高度:tour=199.8046875 第10次反弹高度:height=0.09765625 Python练习实例21 净Pon100M 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二 天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。 到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。 程序分析:采取逆向思维的方法,从后往前推断。 程序源代码: #!/usr/bin/python -*-coding:UTF-8-*- x2=1 for day in range(9,0,-1): x1=(x2+1)+2 x2。x1 print x1 以上实例输出结果为: 1534
题目:一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第 10 次 落地时,共经过多少米?第 10 次反弹多高? 程序分析:无 程序源代码: Python 实例 #!/usr/bin/python # -*- coding: UTF-8 -*- tour = [] height = [] hei = 1 00.0 # 起始高度 tim = 10 # 次数 for i in range(1, tim + 1): tour.append(h ei) hei /= 2 height.append(hei) print('总高度:tour = {0}'.format(sum(to ur))) print('第 10 次反弹高度:height = {0}'.format(height[-1])) 以上实例输出结果为: 总高度:tour = 199.8046875 第 10 次反弹高度:height = 0.09765625 Python 练习实例 21 Python 100 例 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二 天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。 到第 10 天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。 程序分析:采取逆向思维的方法,从后往前推断。 程序源代码: #!/usr/bin/python # -*- coding: UTF-8 -*- x2 = 1 for day in range(9,0,-1): x1 = (x2 + 1) * 2 x2 = x1 print x1 以上实例输出结果为: 1534
Python练习实例22 Pytbon 100 题目:两个乒乓球队进行比赛,各出三人。甲队为ab,c三人,乙队为xy.z三人。已抽签决定 比赛名单。有人向队员打听比赛的名单。a说他不和×比,c说他不和X,z比,请编程序找出三 队赛手的名单。 程序源代码: /usr/bin/python -*-coding:UTF-8-+- for i in range(ord('x'),ord('z')+1); for j in range (ord('x'),ord('')+1): if i !=i: for k in range(ord('x'),ord('z')+1): if(=k)and(行=k) if (i Iord('x'))and (k I-ord('x'))and (k I-ord('2')): print 'order is a--4s\t b--8a\tc--8s'&(chr(i),chr (j,chr(k)】 以上实例输出结果为: order is a--z b--x c--y Python练习实例23 方pon1o0 题目:打印出如下图案(菱形)」
Python 练习实例 22 Python 100 例 题目:两个乒乓球队进行比赛,各出三人。甲队为 a,b,c 三人,乙队为 x,y,z 三人。已抽签决定 比赛名单。有人向队员打听比赛的名单。a 说他不和 x 比,c 说他不和 x,z 比,请编程序找出三 队赛手的名单。 程序源代码: #!/usr/bin/python # -*- coding: UTF-8 -*- for i in range(ord('x'),ord('z') + 1): for j in range(ord('x'),ord('z') + 1): if i != j: for k in range(ord('x'),ord('z') + 1): if (i != k) and (j != k): if (i != ord('x')) and (k != ord('x')) and (k != ord('z')): print 'order is a -- %s\t b -- %s\tc--%s' % (chr(i),chr (j),chr(k)) 以上实例输出结果为: order is a -- z b -- x c--y Python 练习实例 23 Python 100 例 题目:打印出如下图案(菱形):
小小 ★本女 程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重fo循环。 第一层控制行,第二层控制列 程序源代码: #!/usr/bin/python #-*coding:UTF-8-*- from sys import stdout for i in range《4)日 for j in range (2i+1): stdout.write('') for k in range (2++1): .write('+) print for i in range(3): for i in range(i t 1) stdout.write() for k in range (4 -2+1): stdout.write(') print 以上实例输出结果为: 。。 女★女女 Python练习实例24
* *** ***** ******* ***** *** * 程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for 循环, 第一层控制行,第二层控制列。 程序源代码: #!/usr/bin/python # -*- coding: UTF-8 -*- from sys import stdout for i in range(4): for j in range(2 - i + 1): stdout.write(' ') for k in range(2 * i + 1): stdout.write('*') print for i in range(3): for j in range(i + 1): stdout.write(' ') for k in range(4 - 2 * i + 1): stdout.write('*') print 以上实例输出结果为: * *** ***** ******* ***** *** * Python 练习实例 24
方Bhon100@ 题目:有一分数序列:211,3/2,5/3,8/5,13/8,21113求出这个数列的前20项之和。 程序分析:请抓住分子与分母的变化规律。 程序源代码: 方法一: #!/usr/bin/python #-+-coding:UTF-8-+- =0 for n in range(1,21) 8+=a/b t=a a-atb b=t print s 方法二: 1/usr/bin/python -+-coding:UTF-8-* a=2.0 b。10 8=0.0 for n in range(1,21): s +a /b b,a=a,a+b print s 9=0.0 for n in range(1,21): s+a/b b,aa,a b print s
Python 100 例 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前 20 项之和。 程序分析:请抓住分子与分母的变化规律。 程序源代码: 方法一: #!/usr/bin/python # -*- coding: UTF-8 -*- a = 2.0 b = 1.0 s = 0 for n in range(1,21): s += a / b t = a a = a + b b = t print s 方法二: #!/usr/bin/python # -*- coding: UTF-8 -*- a = 2.0 b = 1.0 s = 0.0 for n in range(1,21): s += a / b b,a = a , a + b print s s = 0.0 for n in range(1,21): s += a / b b,a = a , a + b print s