题目:
输出九九乘法表
分析:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
九九乘法表如上。一行一行地观察。定义第1个因数为x,第2个因数为y。
第一行:
x=1 y=1
第二行:
x=1 x=2
y=2 y=2
第三行:
x=1 x=2 x=3
y=3 y=3 y=3
……
可以得出x<=y,x取值为[1,y+1]
因此,第1个for语句用于控制乘法表的行数,即乘法公式中的第2个因数y。 第2个for循环用于控制乘法表的列数,是乘法公式中的第1个因数x。 第2个循环的条件建立在第1个循环的基础上。
相关符号:
- \t 水平制表符 相当于tab
- \n 换行符 相当于enter
print()
函数在默认情况下会在输出内容的末尾添加换行符(\n
),因此会自动换行。- 字符串格式化可使用%格式输入、f表达式等。
代码:
for y in range(1, 10): # 输出9行
for x in range(1, y+1): # 输出与行数相等的列
print('%d*%d=%d' % (x, y, x*y), end = '\t')
print() # 换行
for y in range(1, 10): # 输出9行
for x in range(1, y+1): # 输出与行数相等的列
print(f'{x}*{y}={x*y}', end = '\t')
print() # 换行