有python类的赋值,我们必须创建一个要求输入的程序,并为输入之前的所有值显示乘法表。它需要我们使用嵌套的for循环。
def mathTable(column, tuple):
for column in range(1, 13):
for tuple in range(1, 13):
print("%6d" % (column * tuple), end = '')
print("")
x = int(input("Enter the value of the multiplication table: "))
column = ""
tuple = ''
print(mathTable(column, tuple))
这就是它需要的样子:
答案 0 :(得分:0)
您重复使用变量和参数名称。也就是说,当你创建for循环时,你应该使用新变量来循环,这样你就不会覆盖你的参数,列和元组。我也将元组更改为行更清晰。你的循环变量可以命名为c和r以保持简短。
此外,您将13硬编码为表格大小。您应该确保从1到列数循环,从1到循环数。
def mathTable(column, row):
for r in range(1, row): #r is a temporary variable for the outer loop
for c in range(1, column): #c is a temporary variable for the inner loop
print("%6d" % (c * r), end = '') #note column and row don't change now, they just act as bounds for the loop
print("")
现在,如果你调用mathTable(3,4),你就会得到一个乘法表
1 2 3 4
2 4 6 8
3 6 9 12
答案 1 :(得分:0)
好吧,所以在我的额头上敲了几个小时后,我意识到自己是个笨蛋。
def mathTable(column, tuple):
for c in range(1, x + 1):
print("")
for t in range(1, 13):
print("%6d" % (c * t), end = '\t')
return("\n")
x = int(input("Enter the value of the multiplication table: "))
column = ""
tuple = ''
print(mathTable(column, tuple))
所以这就是完美的工作,我使用第一个for语句来定义我要求的行数,然后第二个for语句是我将两者相乘的次数。 第一个for语句范围内的第二个参数与我的输入直接相关,这允许我将表的输出改变为我想要的任何大小(请不要在其中放入9个数字,从不放置哨兵值,所以你必须关闭你的命令行来做任何事情)
最终要摆脱" NONE"在打印表格后出现的文字你需要记住,你已经创建了一个实际上没有回答任何东西的函数,所以只是说{return("")}适合我的目的,因为我有实现了我创建的输出。
感谢那位试图帮助我的人我很抱歉当时我并不了解你!
答案 2 :(得分:-1)
如果您乐意使用第三方库,numpy
这是微不足道的:
import numpy as np
def return_table(n):
return np.arange(1, 13) * np.arange(1, n+1)[:, None]
print(return_table(3))
# [[ 1 2 3 4 5 6 7 8 9 10 11 12]
# [ 2 4 6 8 10 12 14 16 18 20 22 24]
# [ 3 6 9 12 15 18 21 24 27 30 33 36]]