我应该打印以下内容:
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
我必须按顺序乘以每个数字;乘以1
,2
,3
,...,9
。我已经到了这么远,但无法做进一步的事情。
print('Times:' , end="")
for number in range(1,10):
print(number,end=" ")
print()
for number in range(1,10):
print(number)
答案 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 ,