这里写一些我遇到的一些有意思的代码题目。后续会持续更新。
#打印水仙花数 sum = 0 for i in range(100, 1000): bai = i // 100 shi = (i // 10) % 10 ge = i % 10 if bai ** 3 + shi ** 3 + ge ** 3 == i: sum += 1 print(f'水仙花数有{i}') print(f'水仙花个数为{sum}')这个数字金字塔的题目蛮有意思,第一次确实想不到这个空格的填写,以及通过这个算法题了解了一些有关代码的规范,比如end=''表示不空行以及print()表示换行,很有意思,很有收获。
n = int(input('请输入层数')) for i in range(1, n + 1): # 控制层数 print(' ' * (n - i), end='') # 控制每层的空格,end=''表示不换行 # 打印左半部分 for j in range(1, i + 1): print(j, end='') # 打印右半部分 for k in range(i - 1, 0, -1): print(k, end='') print() # 换行打印1到100之间的质素,并且每三行换行一次。这个题刚开始接触的时候感觉简单,做起来却费劲,后面也因为这个题目学了下函数,逻辑其实蛮简单,但题目确实有意思,很有逻辑感。
def is_prime(num): if num < 2: return False for i in range(2, num): if num % i == 0: return False return True count = 0 print('1~100之间的质数有:') for num in range(1, 101): if is_prime(num): print(num, end=' ') count += 1 if count % 3 == 0: print()