打印星星是经典面试题目,考察流程控制中的循环和条件。本文对相关方法进行总结。到的方法只要有(1)嵌套循环(2)center(3)format(^)(4)字符串乘法
# -*- coding:utf-8 -*-
# 方法一:循环嵌套
num = 10
for row in range(num):
print('{:<8d}'.format(row+1), end='')
print((num - row) * ' ', end='') # 输出空格,这里可以用乘号
for col in range(2 * row + 1):
if col == 0 or col == 2*row or row == num-1: # 条件:左右边界或下边界,打印*,否则打印空格
print('*', end='')
else:
print(' ', end='')
print() # 打印完没一行,一定要记得换行
for row in range(num-2, -1, -1):
print('{:<8d}'.format(row+1), end='')
for j in range(num-row): # 输出空格,这里有可以用循环
print(' ', end = '')
for col in range(2 * row + 1):
if col &#