第一周作业一

九九乘法表

1 作业描述

使用while和for…in两个循环分别输出四种九九乘法表效果(共计8个)。

在这里插入图片描述

2 解题提示

本题是对循环结构的理解与简单运用 【1 – 15】

  1. 流程控制循环结构(for…in, while)
  2. 注意初始值,步长值,控制条件等
  3. 格式化输出参考第四节,建议使用format(使用空格填充,使格式整齐)
  4. 第三种格式的乘法表,可以循环与式子相同字节数的空格来进行填充

3 评分标准

  1. 本题共计30分
  2. while和for…in实现各12分(每个3分)
  3. 注释以及格式6分。

4 要点解析

4.1 循环三要素

  • 起始值:从定义的变量的值开始计数
  • 判断条件:while 后面跟的判断
  • 步长:每次计多少数
i = 1 # 起始值
while i <= 9: # 判断条件
    print('%s .九九乘法表'%i)
    i += 1 # 步长

4.2 range()

range() 函数可创建一个整数列表,一般用在 for 循环中,使用for 循环进行迭代。

其中我们循环三要素对应着range() 函数的三个参数

参考链接

for i in range(1, 10, 1): #(start,stop,step) ===》for i in [1,2,3,4,5,6,7,8,9]:
    print('%s .九九乘法表'%i)

# start【起始值】: 计数从start开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
# stop【终止值】: 计数到stop结束,但不包括stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
# step【步长】:默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

4.3 format()

format()格式化输出
format()常见的用法

参考连接

其实就是format()后面的内容,填入大括号中(可以按位置,或者按变量)
print('{}  {}  {}'.format("123",456,'789'))
print('{2}  {1}  {0}'.format("123",456,'789'))

# 补位
print('{}X{}={:&lt;3}$$'.format('a', 'i', 'a'))
print('{}X{}={:^3}$$'.format('a', 'i', 'a'))
print('{}X{}={:&gt;3}$$'.format('a', 'i', 'a'))

4.4 print()

print('九九乘法表')

print('九九',end= '')
print('乘法表')
# 九九乘法表

# 使用while实现,方式一
# 定义变量i的初始值为1
i = 1
# 使用while循环,当i小于等于9时,持续循环状态
while i <= 9:
    # 定义变量a为1,放在循环内是为了让新的一行a从1开始
    a = 1
    # 使用while循环,当a的值大于i跳出循环,因为99乘法表中a始终不大于i
    while a <= i:
        # i和a的初始值是1,直接计算1*1的值,format方法替换{}内容,end=''让打印结果不换行
        # 使用format占位,使得输出效果整齐
        print('{}*{}={:<4}'.format(a, i, a*i), end= '')
        # 计算完以后让a的值加上1
        a += 1
    # 让i加1,i的规律就是加1
    i += 1
    # 只是为了换行【到达终止值,换一行】
    print()
# 小分割线
print('-'* 80)



# 使用while实现,方式二
# 定义变量i的初始值为1
i = 9
# 使用while循环,当i小于等于9时,持续循环状态,为了防止无限循环设置当i的值为0是退出循环
while i >= 1 :
    # 定义变量a为1,放在循环内是为了让新的一行a从1开始
    a = 1
    # 使用while循环,当a的值大于i跳出循环,因为99乘法表中a始终不大于i
    while a <= i:
        # 使用format占位,使得输出效果整齐,end=''为了不换行
        print('{}*{}={:<4}'.format(a, i, a*i), end= '')
        # 计算完以后让a的值加上1
        a += 1
    # 让i加1,没换一行,i的规律就是加1
    i -= 1
    # 只是为了换行
    print()
# 小分割线
print('-'* 80)


"""
# 方式三 第一种
# 定义变量i的初始值
i = 1
# 使用while循环
while i <= 9:
    # 定义 空格变量
    j = 8
    # while循环,当初始值大于i时,输出空格
    while j >= i:
        # 输出与式子相对应的空格
        print('{:<8}'.format(''), end='')
        # 步长,每次减一
        j -= 1
    # 定义变量k的初始值
    k = i
    # k大于1 时,输出
    while k >= 1:
        # 输出乘法表
        print('{}*{}={:<4}'.format(k, i, i * k), end='')
        # k每次减一
        k -= 1
    # i 每次+ 1
    i += 1
    # 换行
    print()
print('-'* 80)
"""

# 使用while实现,方式三 第二种
# 定义变量i的初始值为1
i = 1
# 使用while循环
while i <= 9:
    # 定义变量a为9
    a = 9
    # 使用while循环,当a的值大于0跳出循环,因为99乘法表中a始终不大于0
    while a > 0:
        # 当a小于等于i的时候打印乘法
        if a <= i:
            # 使用format占位,使得输出效果整齐,end=''为了不换行
            print('{}*{}={:<4}'.format(a, i, a*i), end= '')

        # 否则,打印空格填充
        else:
            print(' ' * 8, end= '')
        # a的值减去1
        a -= 1

    # 让i加1,没换一行,i的规律就是加1
    i += 1
    # 只是为了换行
    print()
# 小分割线
print('-'*80)





# 使用while实现,方式四
# 定义变量为9
i = 9
# 使用while循环
while i > 0:
    # 定义变量a为9
    a = 9
    # 使用while循环,当a的值大于0跳出循环,因为99乘法表中a始终不大于0
    while a > 0:
        # 当a小于等于i的时候打印乘法
        if a <= i:
            # 使用format占位,使得输出效果整齐,end=''为了不换行
            print('{}*{}={:<4}'.format(a, i, a*i), end='')

        # 否则,打印空格填充
        else:
            print(' ' * 8, end='')
        # a的值减去1
        a -= 1

    # 让i减1,每换一行,i的规律就是加减1
    i -= 1
    # 只是为了换行
    print()
# 大分割线
print('='*100)




# 使用for...in,方式一:
# 生成1到9的整数,并遍历
for i in range(1,10):
    # 生成1到(i+1)的整数,并遍历
    for a in range(1,i+1):
        # 使用format占位,使得输出效果整齐,end=''为了不换行
        print('{}*{}={:<4}'.format(a, i, i*a), end= '')
    # 打印完一行开始换行
    print()
# 小分割线
print('-'*80)



# 使用for...in,方式二(方式基本同上,只需要改变生成整数的倒序)
# 生成9到1的整数
for i in range(9, 0, -1):
    # 生成1到(i+1)的整数
    for a in range(1, i+1):
        # 使用format占位,使得输出效果整齐,end=''为了不换行
        print('{}*{}={:<4}'.format(a, i, i*a), end= '')
    # 打印完一行开始换行
    print()
# 小分割线
print('-'*80)



#第三个
# 生成 9 到1 的数q
for i in range(9, 0, -1):
    # 生成 1-8 的数
    for j in range(1,i):
        # 生成空格
        print('{:<8}'.format(''),end='')
    # 生成 10-i 到 1 的数
    for j in range(10-i,0,-1):
        # 输出表达式
        print('{}*{}={:<4}'.format(j, i, i*j), end= '')
    # 换行
    print()
# 分隔符
print('-'*80)



#第四个
# 生成 9 到 1 的数
for i in range(9, 0, -1):
    # 生成 9-i 到 1 个数  ,控制空格的输出
    for j in range(9-i, 0, -1 ):
        # 输出空格
        print('{:<8}'.format(''), end= '')
    # 生成 i 到 1 的数
    for j in range(i, 0, -1):
        # 输出表达式
        print('{}*{}={:<4}'.format(j, i, j*i), end= '')
    # 换行
    print()
# 分隔符
print('-'*80)
发布了6 篇原创文章 · 获赞 0 · 访问量 339

九九乘法表

1 作业描述

使用while和for…in两个循环分别输出四种九九乘法表效果(共计8个)。

在这里插入图片描述

2 解题提示

本题是对循环结构的理解与简单运用 【1 – 15】

  1. 流程控制循环结构(for…in, while)
  2. 注意初始值,步长值,控制条件等
  3. 格式化输出参考第四节,建议使用format(使用空格填充,使格式整齐)
  4. 第三种格式的乘法表,可以循环与式子相同字节数的空格来进行填充

3 评分标准

  1. 本题共计30分
  2. while和for…in实现各12分(每个3分)
  3. 注释以及格式6分。

4 要点解析

4.1 循环三要素

  • 起始值:从定义的变量的值开始计数
  • 判断条件:while 后面跟的判断
  • 步长:每次计多少数

猜你喜欢

转载自blog.csdn.net/weixin_45609519/article/details/105528348