美文网首页
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