练习1:
水仙花数:
''' 打印水仙花数 ''' import math # 定义一个函数求取列表中的幂次方和 def pow3(list): sum = 0 for i in list: sum += math.pow(int(i),3) return sum def flower(): # 方法1 依次求取各个位数 for i in range(100,1000): a = i // 1000 # 取最高位 b = i //100 % 10 # 取百位 c = i //10 % 10 # 取十位 d = i % 10 # 取末位 list = [a,b,c,d] if pow3(list) == i: print('100-1000以内的水仙花数有:%d'%i) def flower2(): # 方法2: 数值转为list for i in range(100, 1000): list1 = list(str(i)) if pow3(list1) == i: print('100-1000以内的水仙花数有:%d'%i) def flower3(a,b): # 限制范围(也可做成raw_input方式) for i in range(a,b): list = [] # 除法、求余数 r = i while r: r,n = divmod(r,10) list.append(n) if pow3(list) == i: print('100-1000以内的水仙花数有:%d'%i)
练习2:
冒泡排序
''' python: 冒泡排序 ''' class Sort(object): def __init__(self,lists): if isinstance(lists,list): # 或用type(lists).__name__