从零开始到成功 发表于 2020-8-10 11:16:06

输出中加入end = “ ”为什么输出就不会换行了

图片没办法放上来,看看代码:
import random

counts = int(input("请输入抛硬币的次数:"))
i = 0

print("开始抛硬币实验:")
while i < counts:
    num = random.randint(1, 10)

    if num % 2:
      print("正面")
    else:
      print("反面", end=" ")

    i += 1

1q23w31 发表于 2020-8-10 11:17:50

print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
   
    Prints the values to a stream, or to sys.stdout by default.
    这里是他的属性定义:
    file:表示在哪个文件写东西(默认值为None,就是不往文件里写东西).
    sep:   表示每一个逗号分隔的字符串里的分隔字符串(默认值为空格).
    end: 表示字符串末尾的字符串,默认一个换行符(所以每个print之间都会换一行。end=""的意思就是不换行). ## 重点!!!也是你问的问题
    flush: 是否马上把数据写到文件里,默认值False,就是不马上把数据写到文件里(这个属性基本没用).


再次强调重点:
end: 表示字符串末尾的字符串,默认一个换行符(所以每个print之间都会换一行。end=""的意思就是不换行). ## 重点!!!也是你问的问题

Hello. 发表于 2020-8-10 11:18:05

print 自带换行,将换行替代为空即不会换行

永恒的蓝色梦想 发表于 2020-8-10 11:18:22

本帖最后由 永恒的蓝色梦想 于 2020-8-10 11:19 编辑

默认情况下,end='\n',也就是打印完之后打印一个换行。
将 end=' ',将不会再打印 '\n',换行就取消了。

战神貔貅 发表于 2020-8-10 15:55:00

{:5_91:},赞

战神貔貅 发表于 2020-8-10 15:55:32

1q23w31 发表于 2020-8-10 11:17
print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
   


{:5_91:} 赞

石泊远 发表于 2020-8-10 16:27:26

如果是这样:

print('l love fishc',end='')

输出结果为:

l love fishc

如果是这样

print('faaa',end='\n')

结果为:

faaa\n

所以end=''就是把你输出的文字后面加上end单引号中的内容
加入\n就是换行
默认也是\n   #\n == 换行
懂了吗{:10_256:}

从零开始到成功 发表于 2020-8-16 11:04:27

1q23w31 发表于 2020-8-10 11:17
print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
   


谢谢

从零开始到成功 发表于 2020-8-16 11:05:29

谢谢

摘星之云 发表于 2020-8-20 08:26:03

谢谢,同样是不懂求问疑

Hi桔子 发表于 2021-8-10 23:49:28

好贴,顶
页: [1]
查看完整版本: 输出中加入end = “ ”为什么输出就不会换行了