print函数详解及python打印99乘法表的不同方法

  首先你需要了解print的原型,并且要知道在python2和python3中print函数功能不同,不只是表现在后面带不带()一方面!

  在python3中,通过help(print)可以得到print函数的详解:

help(print)
Help on built-in function print in module builtins:

print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
    
    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file:  a file-like object (stream); defaults to the current sys.stdout.
    sep:   string inserted between values, default a space.
    end:   string appended after the last value, default a newline.
    flush: whether to forcibly flush the stream.

   

  在python2中,help(print)会出错,需要写help("__builtin__.print")。有种说法是因为print是内置函数,所以需要这样,但是我试了其他内置函数,却非必须如此!  

help("__builtin__.print")
Help on built-in function print in __builtin__:

__builtin__.print = print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout)
    
    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file: a file-like object (stream); defaults to the current sys.stdout.
    sep:  string inserted between values, default a space.
    end:  string appended after the last value, default a newline.

 

  下面是三种在python3下乘法表的打印:

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(1,10): #第二种
    for j in range(1,i+1):
        print("%d*%d=%2d" % (i,j,i*j), end =" ")
    print("")
    
print ('\n'.join([' '.join(['%s*%s=%-2s' % (j,i,i*j) for j in range(1,i+1)]) for i in range(1,10)]))  #第三种

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

   end =" ",多次输出的内容不换行。

 

  在python2中,第三种不需要修改,前两种修改如下:

 for i in range(1,10): #第一种
    for j in range(1,1+i):
        print str(j)+"*"+str(i)+"="+str(i*j),
    print " "

 for i in range(1,10):  #第二种
    for j in range(1,i+1):
        print "%d*%d=%2d" % (i,j,i*j), 
    print " "
 

   print后面加逗号,多次输出的内容不换行。

转载于:https://www.cnblogs.com/aloiswei/p/5981098.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值