从存储了12的乘法表的列表中打印14的乘法表

时间:2019-02-17 17:09:13

标签: python

我已经有一个乘法表为12的列表。我写了一篇文章,使用先前的列表为14的表制作了另一个列表

#how to create table of any number  we created 12
table_12=[]
for i in range(1,121):
    if i % 12==0:
        table_12.append(i)
print(table_12)

#Print multiplication table of 14 from a list in which multiplication table of 12 is stored.
table_14=[]
for i in table_12:
    i=i+2    
    table_14.append(i)

print(table_14)

2 个答案:

答案 0 :(得分:2)

您在这里混淆了逻辑。您不能只是将12的表的每个元素加2以得到14的表。相反,您想添加2的倍数,即将2添加到第一个元素,将4添加到第二个元素,将6添加到第三个元素。等等。

for i, j in enumerate(table_12):返回列表table_2中元素的索引,索引从0开始到table_12的长度减去1(因为python中索引从0开始)。它还返回列表table_2的实际元素。这就是为什么要使用两个变量ij以便将索引放入i并将实际的列表元素放入j

的原因

现在,这里的主要逻辑是构造14表的元素。这是使用j+(i+1)*2完成的,其中j将采用值12、24、36、48,... 108, 120和i的取值分别为0、1、2、3,...,8、9。其余逻辑已经从注释中清除了。我直接附加到列表中,但是您也可以将中间变量用作var=j+(i+1)*2,然后执行table_14.append(var)。但是您不应该使用相同的变量i,因为它可能会导致覆盖并容易出错

table_12=[] 
for i in range(1,121): 
    if i % 12==0: 
        table_12.append(i) 
print(table_12)

# [12, 24, 36, 48, 60, 72, 84, 96, 108, 120]


table_14=[] 
for i, j in enumerate(table_12):
    table_14.append(j+(i+1)*2)

print(table_14)

# [14, 28, 42, 56, 70, 84, 98, 112, 126, 140]

答案 1 :(得分:0)

var table = 12
var answer1 = 0
for i in 1..<10+1
{
answer1 = table * i
print ("\(table) * \(i) = \(answer1)")
answer1 = answer1+(2*i)
print( "14 * \(i) = \(answer1)")
}