標籤:

用 Python 怎樣實現一個九九乘法表?

用python寫一個99乘法表


print ("
".join([" ".join(["%s*%s=%-2s" % (j,i,i*j) for j in range(1,i+1)]) for i in range(1,10)]))


哈哈 看見你這個我就想起了 打開鉛筆盒偷偷看。

然後 隨便寫一寫

from prettytable import PrettyTable
pt = PrettyTable()

pt.field_names=[i for i in range(1,10)]

mulp=[["{b}x{a}={c}".format(a=a,b=b,c=a*b) if a&>=b else "" for b in range(1,10)] for a in range(1,10)]
map(pt.add_row,mulp)

print(pt)

使用了一個 表格美化一下,別在意這麼多

展示一下結果

實際上 其作用的 就 一個 列表生成式,頂樓寫的不錯,我就是強迫症而已


不知道是不是你想要的結果


注意縮進:

for x in range(1,10):

for y in range(1,x+1):

print("{0} x {1} = {2}".format(x,y,x*y),end = " ")

print("
")


def f(i):
if i&>=1:
f(i-1)
print(["%dx%d=%d"%(j,i,i*j) for j in range(1,i+1)])

if __name__=="__main__":
f(9)

遞歸大法好


for a in range(1,10):

print " "

for b in range(1,a+1):

print a,"*",b,"=",a*b,


我也是根據自己的想法寫的,思路很清晰。不過看到知乎大神的,不得不佩服他們代碼的精鍊,是一種美的享受


正序

for i in range(1,10):

for j in range(1,1+i):

print(str(j)+"*"+str(i)+"="+str(i*j),end=" ")

print()

倒敘

for i in range(9,0,-1):

for j in range(9,0,-1):

if j &<= i:

print(str(j)+"*"+str(i)+"="+str(i*j),end=" ")

print()


最高票多用了一個列表生成式,下式和其有同樣效果。

print("
".join(" ".join(["{}*{}={}".format(i,j,i*j) for i in range(1,j+1)])
for j in range(1,10)))

其實就是join()和一個列表生成式實現的。


python 2.7 的寫法
for a in range(1,10):
for b in range(1,a+1):
print "%d * %d = %d" %(b,a,a*b)," ",
print "
"


for x in range(1,10):

for y in range(1,x+1):

print y,"*",x,"=",x*y

只是小白,排版什麼的。。不care


剛學python不久 獻個丑

for i in range(1, 10):
for j in range(1, i + 1):
print("%d*%d=%d" % (i, j, i * j), end=" ")
print(" ")


初學者(我就是)寫出來的應該是這樣的:
for a in range(1,10):
d = []
for b in range(1,10):
if b &<= a: c = "%d*%d=%d"%(a,b,a*b) d.append(c) print(d)

輸出不好看,有引號和中括弧,不過初學者應該比較好看懂。

["1*1=1"]

["2*1=2", "2*2=4"]

["3*1=3", "3*2=6", "3*3=9"]

["4*1=4", "4*2=8", "4*3=12", "4*4=16"]

["5*1=5", "5*2=10", "5*3=15", "5*4=20", "5*5=25"]

["6*1=6", "6*2=12", "6*3=18", "6*4=24", "6*5=30", "6*6=36"]

["7*1=7", "7*2=14", "7*3=21", "7*4=28", "7*5=35", "7*6=42", "7*7=49"]

["8*1=8", "8*2=16", "8*3=24", "8*4=32", "8*5=40", "8*6=48", "8*7=56", "8*8=64"]

["9*1=9", "9*2=18", "9*3=27", "9*4=36", "9*5=45", "9*6=54", "9*7=63", "9*8=72", "9*9=81"]


我來獻個丑,用SQL寫99乘法表

declare

x int;

y int;

begin

x:=1;

while x&<=9 loop

y:=1;

while y&<=x loop


dbms_output.put(y || "*" || x || "=" || x*y || " ");


y:=y+1;

end loop;

dbms_output.put_line("");

x:=x+1;

end loop;

end;


結果輸出:


for i in range(1,10):
for j in range(1,i+1):
k=i*j
print(j,"*",i,"=",k,end= " ")
print(" ")
我喜歡這樣的


推薦閱讀:

如何用python畫一朵花?
學Python web開發框架到什麼程度可以找到開發的工作?
print or plan and not print()()() 的疑問?
如何在mac版本的python里安裝pip?
新學python,編寫helloword.py提示無效語法。?

TAG:Python |