Python99道经典练习题答案 下载本文

(20) (\控制输出,每行四个*/ f112; /*前两个月加起来赋值给第三个月*/ f212; /*前两个月加起来赋值给第三个月*/ } } ''' f1 = 1 f2 = 1 i (1,21):

'd d' % (f12) (i % 2) 0: '' f1 = f1 + f2 f2 = f1 + f2 ''' 【程序12】

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

1.程序分析:判断素数的方法:用一个数分别去除2到(这个数),如果能被整除,

则表明此数不是素数,反之是素数。 2.程序源代码: ''' h = 0

11 / 23

= 1

m (101,201): k = ((m + 1)) i (2 + 1): m % i 0: = 0 1:

'4d' % m h 1 h % 10 0: '' = 1 ' ' % h ''' 【程序13】

题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数

本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

1.程序分析:利用循环控制100-999个数,每个数分解出个位,十位,百位。 2.程序源代码:

12 / 23

'''

n (100,1001): i = n / 100 j = n / 10 % 10 k = n % 10

i * 100 + j * 10 + k i + j ** 2 + k ** 3: \''' 【程序14】

题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

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

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

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

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

2.程序源代码: '''

n = ((\

13 / 23

\

i (2 + 1): n i:

n % i 0: ((i)) (\ n = n / i : \''' 【程序15】

题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示, 60分以下的用C表示。

1.程序分析:(a>b)这是条件运算符的基本例子。 2.程序源代码: 不支持这个运算符 '''

= ((' :\\n')) >= 90: = 'A' >= 60:

14 / 23

= 'B' :

= 'C'

' ' % () ''' 【程序17】

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

1.程序分析:利用语句,条件为输入的字符不为'\\n'. 2.程序源代码: '''

s = (' a :\\n') = 0 = 0 = 0 = 0 c s: (): 1 (): 1

15 / 23