说明:编写一个程序来生成数字1-10的乘法表。使用两个for循环来完成您的程序。您将需要在另一个for循环中放置一个for循环。作为额外的挑战,请看是否可以使缩进看起来正确。因此,程序的输出应为:
我的代码:
# Start a for loop from 1 to 10.
for num1 in range(1, 10):
# Start a nested loop from 1 to 10.
for num2 in range(1, 10):
# Display the multiplication for each value of num.
print('%4d'%(num1*num2), end = '')
# Display new line after inner for loop finished.
print()
数字必须像上面说明中的图片一样对齐。我的只是直射整个屏幕。我不确定自己在做什么错。
这是我的样子:
答案 0 :(得分:1)
您可以这样操作:
for num1 in range(1, 10):
print()
for num2 in range(1, 10):
if len(str(num1*num2)) == 1:
print(" "+str(num1*num2),end = ' ')
else:
print(str(num1*num2),end = ' ')
输出:
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
答案 1 :(得分:1)
您忘记打印(“ \ n”)。
# Start a for loop from 1 to 10.
for num1 in range(1, 10):
# Start a nested loop from 1 to 10.
for num2 in range(1, 10):
# Display the multiplication for each value of num.
print('%4d'%(num1*num2), end = '')
# Display new line after inner for loop finished.
print("\n") # change made here
答案 2 :(得分:1)
作为额外的挑战,请看是否可以看到缩进 正确。
我相信以下两种方法都能最准确地复制示例表,没有多余的前导或内部空格,并且与其他答案相比,这是最简单的实现方式:
for row in range(1, 10):
for col in range(1, 10):
print(('{:1}' if col == 1 else '{:2}').format(row * col), end=' ')
print()
输出
> python3 test.py
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
>
答案 3 :(得分:0)
for num1 in range(1, 10):
for num2 in range(1, 10):
print('%4d'%(num1*num2), end = '')
print('\r') # this is what I added to your code
我添加了当第二个循环用完要打印的元素时打印新行的行
答案 4 :(得分:0)
以下代码在第二个循环打印完一行后的第一个循环中添加了新行。这应该符合您的需求。
# Start a for loop from 1 to 10.
for num1 in range(1, 10):
# Start a nested loop from 1 to 10.
for num2 in range(1, 10):
# Display the multiplication for each value of num.
print('%4d'%(num1*num2), end = '')
print ('\n')
# Display new line after inner for loop finished.