我正在制作一个产品表,供用户输入以确定其尺寸。
这些列标记为A-Z 这些行用数字标记为“ |”在它旁边。
程序将正确打印所有标题。唯一的问题是,产品表的打印次数与行中输入的次数相同。
我的输入为“ 3”的尝试请参见附件图像。 输入为'4'的图像上的黑色乘积表是答案的格式。
def get_pro_tab():
n = int(input('Please enter a positive integer: '))
print("(Don't go too crazy)")
print()
#letters
print(' ',end='')
for letter in range(n):
print('{0:4}'.format(chr(65 + letter)),end=' ')
print()
#margins
marigin = 0
for number in range(1, n+1):
print(str(number)+ "|", end='')
#numbers
prod = 0
for y in range(1, n+1):
for z in range(1, n+1):
prod = y * z
print('{0:4}'.format(str(prod)), end=' ')
print('\n')
答案 0 :(得分:0)
我认为您的代码中只有一个额外的循环。我刚刚将其注释掉,现在我认为它可以工作:
def get_pro_tab():
n = int(input('Please enter a positive integer: '))
print("(Don't go too crazy)")
print()
#letters
print(' ',end='')
for letter in range(n):
print('{0:4}'.format(chr(65 + letter)),end=' ')
print()
#margins
marigin = 0
for number in range(1, n+1):
print(str(number)+ "|", end='')
#numbers
prod = 0
#for y in range(1, n+1):
for z in range(1, n+1):
prod = number * z
print('{0:4}'.format(str(prod)), end=' ')
print()
对于输入5,将打印:
A B C D E
1|1 2 3 4 5
2|2 4 6 8 10
3|3 6 9 12 15
4|4 8 12 16 20
5|5 10 15 20 25
如果愿意,可以使用以下格式字符串使生活更轻松:
def get_pro_tab():
n = int(input('Please enter a positive integer: '))
print("(Don't go too crazy)")
print()
#letters
print(' ',end='')
for letter in range(n):
print('{0:>4s}'.format(chr(65 + letter)),end=' ')
print()
#margins
marigin = 0
for number in range(1, n+1):
print(str(number)+ "|", end='')
#numbers
prod = 0
#for y in range(1, n+1):
for z in range(1, n+1):
prod = number * z
print('{0:4d}'.format(prod), end=' ')
print()
如果使用相同的输入运行此命令,则会得到:
A B C D E
1| 1 2 3 4 5
2| 2 4 6 8 10
3| 3 6 9 12 15
4| 4 8 12 16 20
5| 5 10 15 20 25
好吧,我知道,情人在情人眼中,但是对我来说,如果数字正确,它看起来就更具吸引力。但这只是对代码的很小的修改。