用 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 |