循环总结
while 语句 for 语句
- 字符串 - range() 函数
break 语句 continue 语句
列表学习
# 练习: # 输入一个整数n, 判断这个整数是否是素数(prime) # (素数是指只能被1 和自身整除的数) # 如: # 2 3 5 7 11... # 方法: # 用排除法.一但n能被2~n-1的数整除就不是素 # 数,否则就一定是素数 n = int(input("请输入一个整数: ")) if n < 2: print(n, '不是素数') exit() # 方法 1 # flag = True # true代表是素数,False代表不是素数 # for i in range(2, n): # if n % i == 0: # # print(n, '不是素数!') # flag = False # break # if flag == True: # print(n, '是素数!') # else: # print(n, '不是素数!') # 方法2: for i in range(2, n): if n % i == 0: print(n, '不是素数!') break else: print(n, '是素数!')
# 1. 输入一个整数,代表树干的高度. # 打印一棵"圣诞树" # 如: # 输入:2 # 打印 # * # *** # * # * # 输入:3 # 打印 # * # *** # ***** # * # * # * n = int(input("请输入树干高度: ")) # 打印树叶部分 for i in range(1, n + 1): # i代表从上向下的行号 blanks_count = n - i # 计算空格个数 print(' '* blanks_count + '*' * (2*i-1)) # 打印树十部分 for i in range(1, n + 1): print(' ' * (n - 1) + '*')
# 2. 用循环语句生成如下字符串 # 'ABC.....XYZ' # 'AaBbCc......XxYyZz' # 提示: # 用ord和chr函数结合循环语句实现 s = '' # 用来存入大写英文字母 s2 = '' # 用来存放大写小写混合的英文字母 for i in range(65, 65 + 26): # print(chr(i)) s += chr(i) s2 += chr(i) # 先放一个大写的 # 放入一个小写的字母 s2 += chr(i + 32) # ord('a') - ord('A') # 32 print(s) print(s2)
# 3. 算出 100 ~ 999 以内的水仙花数(Narcissistic number) # 水仙花数是指百位的3次方加上十位的3次方加上个位 # 的3次方等于原数的数字 # 例如: # 153 等于 1**3 + 5**3 + 3**3 # 参考答案: # 153, 370, ... # 方法1 # for x in range(100, 1000): # bai = x // 100 # shi = x %100 // 10 # ge = x % 10 # if x == bai ** 3 + shi ** 3 + ge ** 3: # print(x) # 方法2 # for x in range(100, 1000): # s = str(x) # 得到字符串 # bai = int(s[0]) # 百位 # shi = int(s[1]) # 十位 # ge = int(s[2]) # 个位 # if x == bai ** 3 + shi ** 3 + ge ** 3: # print(x) # 方法3 for bai in range(1, 10): for shi in range(10): for ge in range(10): # print(bai, shi, ge) x = bai * 100 + shi * 10 + ge if x == bai ** 3 + shi ** 3 + ge ** 3: print(x)