打印乘法表

时间:2015-10-08 12:11:11

标签: python python-3.x

我应该打印以下内容:

Times: 1  2  3  4  5  6  7  8  9
1      1  2  3  4  5  6  7  8  9
2      2  4  6  8  10 12 14 16 18
3      3  6  9  12 15 18 21 24 27
4      
5
6
7
8
9

我必须按顺序乘以每个数字;乘以123,...,9。我已经到了这么远,但无法做进一步的事情。

print('Times:' , end="")
for number in range(1,10):
    print(number,end="    ")
print()

for number in range(1,10):
    print(number)

5 个答案:

答案 0 :(得分:1)

注意:

代码是python 2.x支持您必须根据需要更改print语句

<强>代码:

print'Times:' ,
for number1 in range(1,10):
    print number1,
print 
for number2 in range(1,10):
    print number2,"\t",
    for number3 in range(1,10):
        print number3*number2,
    print 

<强>输出:

Times: 1 2 3 4 5 6 7 8 9
1       1 2 3 4 5 6 7 8 9
2       2 4 6 8 10 12 14 16 18
3       3 6 9 12 15 18 21 24 27
4       4 8 12 16 20 24 28 32 36
5       5 10 15 20 25 30 35 40 45
6       6 12 18 24 30 36 42 48 54
7       7 14 21 28 35 42 49 56 63
8       8 16 24 32 40 48 56 64 72
9       9 18 27 36 45 54 63 72 81

答案 1 :(得分:1)

你在那里中途;你可以简单地使用嵌套的for循环。基本上你在这里说的是:我想将每个数字乘以1-9乘以1-9中的每个数字。

for a in range(1,10): #for each number as a in range from 1-9 do
    for b in range(1,10): # take each number b from range 1-9 and 
        print(a*b) #..print the product of a and b.

答案 2 :(得分:1)

这是一个解决方案,使用numpy数组来计算替代解决方案的表

import numpy as np
l = np.array([[str(i*j).zfill(2) for j in xrange(1,10)] for i in 

xrange(1,10)])

print 'Times:  01 02 03 04 05 06 07 08 09'
for i in xrange(9):
    print str(i+1).zfill(2), '\t',
    print str(l[i]).replace('\'','').replace('[','').replace(']','')

Times:  01 02 03 04 05 06 07 08 09
01      01 02 03 04 05 06 07 08 09
02      02 04 06 08 10 12 14 16 18
03      03 06 09 12 15 18 21 24 27
04      04 08 12 16 20 24 28 32 36
05      05 10 15 20 25 30 35 40 45
06      06 12 18 24 30 36 42 48 54
07      07 14 21 28 35 42 49 56 63
08      08 16 24 32 40 48 56 64 72
09      09 18 27 36 45 54 63 72 81

如果Times:在角落里无关紧要,可以使用像这样的pandas两行来完成

import pandas as pd
labels = ['1','2','3','4','5','6','7','8','9']
print pd.DataFrame(data=([[i*j for j in xrange(1,10)] for i in xrange(1,10)]), columns = labels, index = labels)

   1   2   3   4   5   6   7   8   9
1  1   2   3   4   5   6   7   8   9
2  2   4   6   8  10  12  14  16  18
3  3   6   9  12  15  18  21  24  27
4  4   8  12  16  20  24  28  32  36
5  5  10  15  20  25  30  35  40  45
6  6  12  18  24  30  36  42  48  54
7  7  14  21  28  35  42  49  56  63
8  8  16  24  32  40  48  56  64  72
9  9  18  27  36  45  54  63  72  81

如果你想要Times:并想要它,你可以把它与表格结合起来

import pandas as pd
from tabulate import tabulate
from pandas import DataFrame
labels = [1,2,3,4,5,6,7,8,9]

df = pd.DataFrame(data=( [ [i*j for j in xrange(1,10)] for i in xrange(1,10)] ), index = labels)

print tabulate(df, headers=['Times:']+labels,tablefmt = 'fancy_grid', numalign='left')

╒══════════╤═════╤═════╤═════╤═════╤═════╤═════╤═════╤═════╤═════╕
│ Times:   │ 1   │ 2   │ 3   │ 4   │ 5   │ 6   │ 7   │ 8   │ 9   │
╞══════════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╡
│ 1        │ 1   │ 2   │ 3   │ 4   │ 5   │ 6   │ 7   │ 8   │ 9   │
├──────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
│ 2        │ 2   │ 4   │ 6   │ 8   │ 10  │ 12  │ 14  │ 16  │ 18  │
├──────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
│ 3        │ 3   │ 6   │ 9   │ 12  │ 15  │ 18  │ 21  │ 24  │ 27  │
├──────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
│ 4        │ 4   │ 8   │ 12  │ 16  │ 20  │ 24  │ 28  │ 32  │ 36  │
├──────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
│ 5        │ 5   │ 10  │ 15  │ 20  │ 25  │ 30  │ 35  │ 40  │ 45  │
├──────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
│ 6        │ 6   │ 12  │ 18  │ 24  │ 30  │ 36  │ 42  │ 48  │ 54  │
├──────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
│ 7        │ 7   │ 14  │ 21  │ 28  │ 35  │ 42  │ 49  │ 56  │ 63  │
├──────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
│ 8        │ 8   │ 16  │ 24  │ 32  │ 40  │ 48  │ 56  │ 64  │ 72  │
├──────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
│ 9        │ 9   │ 18  │ 27  │ 36  │ 45  │ 54  │ 63  │ 72  │ 81  │
╘══════════╧═════╧═════╧═════╧═════╧═════╧═════╧═════╧═════╧═════╛

答案 3 :(得分:0)

你可以像这样使用双循环。

# The heading
print("Times: " , end="")
for number in range(1,10):
    print(number,end="\t")
print()

# The double for-loop
for multiplum in range(1,9):
    print(multiplum, end="      ") # First column
    for number in range(1,10):
        print(multiplum*number, end="\t") # Next 9 columns
    print()

答案 4 :(得分:0)

好的 我在python中编码: 试试这个:

print 'Times:' ,
for number in range(1,10):
    print "%d"% (number),

for i in range(1,10):
    print ""    
    print i,"    :",

    for number in range(1,10):
        print number*i ,