美文网首页
Python使用循环完成九九乘法表

Python使用循环完成九九乘法表

作者: 早_wsm | 来源:发表于2020-02-07 11:25 被阅读0次

一、程序的三大流程

  • 顺序 从上到下顺序执行代码
  • 分支 根据条件判断决定执行代码的分支
  • 循环 让特定代码重复执行
    流程图简示:


    image

二、while循环的基本应用

  • while语句基本语法句式:
    初始条件设置
    while 条件:
    条件满足时执行的代码
    条件满足时执行的代码
    条件满足时执行的代码
    ......
    处理条件 计数器加一
  • 写一个简单的while循环,打印5次"早盦呀是个很棒的UP主":
# 写好初始条件
i = 1
# 开始循环
while i <= 5:
    # 满足条件后执行的代码
    print("早盦呀是个很棒的UP主")
    # 处理计数器
    i += 1

执行一下结果:


image

注意python的代码规范

  • 试着写一个使用while循环计算0-100求和
# 定义最终结果的变量
sum = 0
# 定义一个整数的变量记录循环的次数
i = 0
# 开始循环
while i <= 100:
    sum += i
    # 处理计数器
    i += 1
print('0到100间的和为: %d' % sum)

调试一下并验证结果


image
  • 使用while循环计算0-100间偶数的和
# 定义一个整数的变量记录循环的次数
i = 0
# 开始循环
while i <= 100:
    # 使用嵌套if做偶数的判断
    if i % 2 == 0:
        sum += i
    # 处理计数器
    i += 1
print('0到100间的所有偶数的和为: %d' % sum)

再进行验证


image

要注意代码的规范与运算符的使用等,总之要细心

三、break和continue

  • break 表示停止当前循环
  • continue 表示跳过当前循环轮次去执行下一轮循环
    为更详细了解俩者的区别,可试着完成“逢七跳过”的游戏
# 定义一个整数的变量记录循环的次数
i = 0
# 开始循环
while i <= 100:
    # 构思带七及含七倍数的数字特点,把他们都找到
    if (i % 7 == 0
            or i % 10 == 7
            or i // 10 == 7):
        # 处理计数器,这里至关重要,如果不存在这个计数器会造成死循环
        i += 1
        # 使用continue跳过所有带七及含七倍数的数字
        continue
    # 把其他情况打印出来
    else:
        print(i)
    # 处理计数器
    i += 1
image

相对于while循环,这里使用for循环会更容易一些,但要引用range()函数

for i in range(1, 101):
    if (i % 7 == 0
            or i % 10 == 7
            or i // 10 == 7):
        continue
    else:
        print(i)

可自行尝试使用并观察
简单修改一下条件并使用break:

# 定义一个整数的变量记录循环的次数
i = 0
# 开始循环
while i <= 100:
    # 构思带七及含七倍数的数字特点,把他们都找到
    if i == 7:
        # 处理计数器,这里至关重要,如果不存在这个计数器会造成死循环
        i += 1
        # 使用continue跳过所有带七及含七倍数的数字
        break
    # 把其他情况打印出来
    else:
        print(i)
    # 处理计数器
    i += 1
image

可以看到在满足条件后,break变终止了循环。

四、打印九九乘法表

这里会涉及使用嵌套循环、print()函数扩展知识、内循环与外循环搭配等......

先练习打印九行小*

# 定义一个整数的变量记录循环的次数
row = 1
# 开始外循环打印列
while row <= 9:
    # 确定内循环打印行
    col = 1
    while col <= row:
        # 这里用到print()函数扩展,print("",end="连接下一行的内容")这样写可做到不自动换行
        print("*",end="")
        col += 1
    # 因为上一个print()函数内已包含end=的用法,所以这里为避免所输出的内容在同一行要加print("")做换行处理
    print("")
    # 处理计数器
    row += 1
image

完成九九乘法表的书写:

# 定义一个整数的变量记录循环的次数
row = 1
# 开始外循环打印列
while row <= 9:
    # 确定内循环打印行
    col = 1
    while col <= row:
        # 这里用到print()函数扩展,print("",end="连接下一行的内容")这样写可做到不自动换行
        # print("*",end="")
        # 九九乘法表变身
        print("%d * %d = %d " % (col,row,row*col), end=" ")
        col += 1
    # 因为上一个print()函数内已包含end=的用法,所以这里为避免所输出的内容在同一行要加print("")做换行处理
    print("")
    # 处理计数器
    row += 1

这样我们就获得了一个九九乘法表的代码,仔细观察打印*与打印乘法表的代码,区别只是改了一行代码,乘法表使用列号乘以行号才完成实现的,为了输出美观,要注意end=" "中以空格分开列

image
但是细心的人会发现我们打印出的乘法表存在对不齐的情况,所以要进一步完善一下
要保证每一列都能对齐,我们要引用转义符、换行符
  • \t 表示控制台输出一个制表符,协助文本能够垂直对齐
  • \n 表示控制台输出一个换行符

下面做简单演示:

print("1\t2\t3")
print("10\t20\t30")
image

通过思考我们可以准确的找到需要修改的地方是print("%d * %d = %d " % (col,row,row*col), end=" "),最终修改为: print("%d * %d = %d " % (col,row,row*col), end="\t")

相关文章

网友评论

      本文标题:Python使用循环完成九九乘法表

      本文链接:https://www.haomeiwen.com/subject/yhluxhtx.html