需求:在控制台连续输出五行*, 每一行星星的数量依次递增

思路:使用while循环输出五行内容, 依次输出数字1到5, 再使用数字乘以字符串'*', 即可在每行输出一个星星, 两个星星, ... 五个星星, 从而实现递增

i = 1
# 循环5次,打印五行
while i <= 5:
    # 打印*
    print('*' * i)
    # i递增
    i += 1

字符串和整数相乘可以重复输出字符串,比如

print('*' * 1)        会输出 *

print('*' * 3)        会输出 ***

 

除了上面这个方法,我们还可以使用循环嵌套的方法来实现输出星星

print()函数输出一个内容后会默认换行,我们可以是end=''来取消默认换行, 格式如下

print('内容', end='')

# 定义行数
row = 1
# 循环5次,打印五行
while row <= 5:
    # 定义列数
    col = 1
    while col <= row:
        # 列每循环一次输出一个*,并取消换行
        print('*', end='')
        # 列数递增
        col += 1
    # 行每循环一次,打印一个换行
    print('')
    # 行数递增
    row += 1

 

输出九九乘法表

循环的结构和上面相同,只需要修改每一列输出的内容即可

# 定义行数
row = 1
# 循环9次,打印9行
while row <= 9:
    # 定义列数
    col = 1
    while col <= row:
        # 列每循环一次,打印 row * col = (row * col), 并取消换行
        print('%d * %d = %d  ' % (row, col, row * col), end='')
        # 列数递增
        col += 1
    # 行每循环一次,打印一个换行
    print('')
    # 行数递增
    row += 1

 

更多推荐

Python基础(输出五行五角星,数量每行递增/输出九九乘法表)