晴朗的天 发表于 2021-9-23 21:03:39

python课后练习第四讲动动手第二题

temp = input('请输入一个整数:')
number = int(temp)
while number:
    i = number - 1
    while i:
      print(' ', end = '')
      i = i - 1
    j = number
    while j:
      print('*', end = '')
      j = j - 1
    print()
    number = number - 1
为什么俩个print的括号里都要加end=''

冬雪雪冬 发表于 2021-9-23 21:22:19

因为空格和*要输出在一行内, 加上end = '' 就不会换行了

白two 发表于 2021-9-23 22:15:50

print函数的 end参数 有一个默认值 '\n' 也就是换行符
你得保证内循环的每一次 print 都在同一行,所以得加一个 end = ''
换行操作是由最下面那个啥都没有的 print 函数执行的

傻眼貓咪 发表于 2021-9-24 16:40:30

本帖最后由 傻眼貓咪 于 2021-9-24 16:43 编辑

end 是 print() 的参数

print() 的参数有:
1. objects -- 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
2. sep -- 用来间隔多个对象,默认值是一个空格。
3. end -- 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。
4. file -- 要写入的文件对象。
5. flush -- 输出是否被缓存通常决定于 file,但如果 flush 关键字参数为 True,流会被强制刷新。

其构造为:print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

示例 1:a = 13
b = 'banana'
c = True

print(a, b, c, sep='7777')137777banana77777True示例 2:a = 13
b = 'banana'
c = True

print(a, b, end = 'haha')
print(c)13 bananahahaTrue
页: [1]
查看完整版本: python课后练习第四讲动动手第二题