python2.7练习小例子(四)】的更多相关文章

    24):1.题目:利用递归方法求5!.     程序分析:递归公式:fn=fn_1*4! #!/usr/bin/python # -*- coding: UTF-8 -*- def fact(j): sum = 0 if j == 0: sum = 1 else: sum = j * fact(j - 1) return sum print fact(5)     以上实例输出结果为: 120     python3 参考方案: def Factorial(n):     if n ==…
    29):1.题目:按相反的顺序输出列表的值. #!/usr/bin/python # -*- coding: UTF-8 -*- a = ['one', 'two', 'three'] for i in a[::-1]: print i     以上实例输出结果为: three two one #!/usr/bin/python # -*- coding: UTF-8 -*- print '输入列表格式为:1,2,3,4' s=input() print type(s) a=list(s…
    12):题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方.     程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位.     程序源代码: #!/usr/bin/python # -*- coding: UTF-8 -*- for n in range(100,1000): i = n…
    8):题目:输出 9*9 乘法口诀表.     程序分析:分行与列考虑,共9行9列,i控制行,j控制列.     程序源代码: #!/usr/bin/python # -*- coding: UTF-8 -*- for i in range(1, 10): print for j in range(1, i+1): print "%d*%d=%d" % (i, j, i*j),     以上实例输出结果为: 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9…
    7):题目:将一个列表的数据复制到另一个列表中.     程序分析:使用列表[:].     程序源代码: #!/usr/bin/python # -*- coding: UTF-8 -*- a = [1, 2, 3] b = a[:] print b     以上实例输出结果为: [1, 2, 3]     使用 Python2 的参考解法: >>> import copy >>> a = [1, 2, 3] >>> b=copy.copy(…
    27):题目:一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同.      #!/usr/bin/python # -*- coding: UTF-8 -*- a = int(raw_input("请输入一个数字:\n")) x = str(a) flag = True for i in range(len(x)/2): if x[i] != x[-i - 1]: flag = False break if flag: print "…
28):题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母.     程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母. #!/usr/bin/python # -*- coding: UTF-8 -*- letter = raw_input("please input:") #while letter != 'Y': if letter == 'S': print ('please input secon…
    23):题目:求1+2!+3!+...+20!的和.     程序分析:此程序只是把累加变成了累乘. #!/usr/bin/python # -*- coding: UTF-8 -*- n = 0 s = 0 t = 1 for n in range(1,21): t *= n s += t print '1! + 2! + 3! + ... + 20! = %d' % s #!/usr/bin/python # -*- coding: UTF-8 -*- s = 0 l = range…
19):题目:一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数.      #!/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 ==…
    17):题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字.例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制.     程序分析:关键是计算出每一项的值.     程序源代码: #!/usr/bin/python # -*- coding: UTF-8 -*- Tn = 0 Sn = [] n = int(raw_input('n = ')) a = int(raw_input('a = ')) for count in ra…