print函数是每个学习Python的人接触的第一个函数,大家还记得写过的第一个程序吧:
print("hello, world!")
这是每个人都掌握的基本函数,但你真的能熟练运用自如吗?
示例1
输入一个整数N,输出高度为N-1的数字三角形,如N=5,输出:
1
22
333
4444
分析:第一层是1个1,第二层是2个2,第三是三个3,规律是i个i。可以通过构建一个包含i的序列,然后乘以i,就扩展成包含i个i的序列,如[3]*3 = [3,3,3],然后将其拼接起来进行输出。
for i in range(1, int(input())):
print(*[i] * i, sep='')
上面[i]前面的*为星号操作符,能够将一个序列解开成一个个独立的元素。例如:
print(*[1, 2, 3, 4, 5])
输出结果:1 2 3 4 5 注意不是[1, 2, 3, 4, 5]
sep则表示输出之间的分隔符。看print的定义:
def print(*args, sep=' ', end='\n', file=None):
示例2
一行print实现多个输出结果的分行输出
a = [1, 2, 3, 4, 5]
b = ['s', 't', 'r', 'i', 'n', 'g']
c = [22.5, 32.4, 45.6, 123.4, 323.6]
print(a, b, c, sep='\n')
输出结果:
[1, 2, 3, 4, 5]
['s', 't', 'r', 'i', 'n', 'g']
[22.5, 32.4, 45.6, 123.4, 323.6]
示例3
输入一个整数N,输出:123...N。如N=5,输出12345
N = 13
for i in range(1, N + 1):
print(i, end='')
输出结果:
12345678910111213
可见,除了通常的格式化输出外,通过灵活运用sep和end参数,能够给你的print输出提供更多可能和更简洁的使用。