Python输出九九乘法表
Posted zhaoxiansheng666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python输出九九乘法表相关的知识,希望对你有一定的参考价值。
for i in range(1,10): for j in range(1,i+1): #print(j,"*",i,"=",j*i,end="|") 写法一:自己最初的写法 #print(‘%d*%d=%d‘%(j,i,j*i),end="|") 写法二:这里是一个字符串,print输出的是格式化后的字符串,%d分别表示三个整数 #print(‘{0}*{1}={2}‘.format(j,i,j*i),end="|")写法三:format写法 #print(f‘{j}*{i}={j*i}‘,end=‘|‘) 写法四:f前缀写法 python3.6新增了f前缀格式化写法,更加精妙简单。 print(str(j)+"*"+str(i)+"="+str(i*j),end="|")#写法五:python内置函数,str函数功能时将对象转换成其字符串表现形式 print()
#写法六 :#这种写法是在知乎上面看到的,评论说可读性不好,但是看起来好厉害呀
print (‘ ‘.join([‘ ‘.join([‘%s*%s=%-2s‘ % (j,i,i*j) for j in range(1,i+1)]) for i in range(1,10)])print(‘ ‘.join(‘ ‘.join([‘{}*{}={}‘.format(i,j,i*j) for i in range(1,j+1)])
for j in range(1,10)))
#写法七:中心就是使用了一个列表生成式,但是导入了一个美化的表格库,自己现在还没有运行成功,因为不知道为啥导入prettytable库不成功
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)
#方法八 递归法这个方法真是让我眼前一亮,想法好独特,羡慕:
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): d =[] for b in range(1,10): if b <= a: c = ‘%d*%d=%d‘%(a,b,a*b) d.append(c) print(d)
总结,其实方法都大同小异,只是在细微之处有所不同,但是同样值得学习,因为正是这些细微之处才汇聚成大的能量。
以上是关于Python输出九九乘法表的主要内容,如果未能解决你的问题,请参考以下文章