zhehao.hu12 发表于 2022-10-19 18:28:28

帮帮忙

>>> name = input("请输入您的名字:")
请输入您的名字:小甲鱼
>>> print("你好", name, sep=",", end="!")
你好,小甲鱼!
这里面的,和!是怎么出来的是通过sep和end吗?

元豪 发表于 2022-10-19 18:36:08

zhehao.hu12 发表于 2022-10-19 18:47:59

元豪 发表于 2022-10-19 18:36


那我要是以后像输出其他的标点符号怎么实现

jackz007 发表于 2022-10-19 19:09:55

本帖最后由 jackz007 于 2022-10-19 19:16 编辑

zhehao.hu12 发表于 2022-10-19 18:47
那我要是以后像输出其他的标点符号怎么实现

       sep 会出现在 print() 所打印的每个变量的输出内容之间,比如:
a , b , c = 3 , 5 , 8
print(a , b , c , sep = ':')
       在打印输出的 3、5、8 之间,就会各出现一个冒号作为分隔符

       至于 end = '!' 则是为了取消 print() 打印完会回车换行的默认动作,因为,如果不写,本来 end = '\n' 的。改为 end = '!' 后,在完成打印后会在末尾附加打印一个 '!' 字符,而不会再回车换行。

       如果需要打印其它的标点符号,你当然可以像打印 hello, world ! 一样,直接把它写进字符串就可以了。

元豪 发表于 2022-10-19 20:21:19

zhehao.hu12 发表于 2022-10-19 18:47
那我要是以后像输出其他的标点符号怎么实现

把 sed 参数改一下就行了。如:
print('你好', name, sep='!', end='!')

asky533 发表于 2022-10-19 20:25:53

print()函数的作用是把某些信息输出到控制台上。官方文档提供的格式为:print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)print()函数的参数 -- *objects这里的*objects表示想要在控制台中显示出的内容,星号说明它的数量没有限制,所以,像这样写也是合法的:>>> print("I ","am ","a ","kid.")
I am a kid.print()函数的参数 -- sepsep的作用就是在字符串中间插入文本,给sep赋值的文本就会被插入*objects的中间如果没有赋值的话,python就会默认不插入任何东西但是,由于前一个*objects的数量没有限制,我们不能直接对其进行赋值,不然python就会认为我们是在给就像下面一样:>>> print("Bryson","Payne"," ") #这里试图设置sep,把"win!"插入到*objects的中间
BrysonPayne 所以,我们在给sep赋值的时候就要表明:sep="win!",像下面的做法就是对的:>>> print("Bryson","Payne",sep=" ")
Bryson Payneprint()函数的参数 -- endend的作用就是在字符串末尾插入文本,给end赋值的文本就会被插入*objects的末尾如果没有赋值的话,python就会默认插入一个"\n",这是一个转义字符,表示换行与sep参数一样,也是要单独进行赋值:>>> print("I win",end="!")
I win!print()函数的参数 -- filefile的作用就是指定要在哪里输出*objects,*objects就会输出到指定的file文件里。通常情况下,python会默认输出到控制台上。file 参数必须是一个具有 write(string) 方法的对象;如果参数不存在或为 None,则将使用 sys.stdout(输出到控制台)。 由于要打印的参数会被转换为文本字符串,因此 print()不能用于二进制模式的文件对象。 对于这些对象,应改用 file.write(...)print()函数的参数 -- flushflush是python3.3给python新添加的一个参数,给flush参数赋值的只能是一个布尔类型(True/False)的值如果没有对flush参数进行赋值的话,python会默认返回False虽然输出是否缓存通常取决于 file,但如果 flush 关键字参数为 True,输出流会被强制刷新。

zhehao.hu12 发表于 2022-10-19 20:33:19

asky533 发表于 2022-10-19 20:25
print()函数的作用是把某些信息输出到控制台上。官方文档提供的格式为:print(*objects, sep=' ', end='\n' ...

谢谢

zhehao.hu12 发表于 2022-10-19 20:33:49

元豪 发表于 2022-10-19 20:21
把 sed 参数改一下就行了。如:

sed参数是什么{:5_96:}

zhehao.hu12 发表于 2022-10-19 20:34:20

jackz007 发表于 2022-10-19 19:09
sep 会出现在 print() 所打印的每个变量的输出内容之间,比如:

       在打印输出的 3、5、 ...

谢谢

zhehao.hu12 发表于 2022-10-19 20:35:21

我复制答案给的代码然后run 他显示出来一个invalid syntax是什么意思啊

asky533 发表于 2022-10-19 20:39:19

那是因为你是在 python shell 里面运行的,在控制台中,要先输入
a, b, c = 3, 5, 8
然后等待 shell 出现 >>> 提示符之后再输入
print(a, b, c, sep=":")

jackz007 发表于 2022-10-19 20:40:21

zhehao.hu12 发表于 2022-10-19 20:35
我复制答案给的代码然后run 他显示出来一个invalid syntax是什么意思啊

         你这是什么意思,希望我们同情你?把出错的代码贴出来呀!

zhehao.hu12 发表于 2022-10-19 21:14:47

jackz007 发表于 2022-10-19 20:40
你这是什么意思,希望我们同情你?把出错的代码贴出来呀!

我复制的答案里的代码

jackz007 发表于 2022-10-19 21:28:11

zhehao.hu12 发表于 2022-10-19 21:14
我复制的答案里的代码

          知道,那你什么意思,就是告诉我们一下,答案的代码是错的吗?

zhehao.hu12 发表于 2022-10-19 21:37:51

jackz007 发表于 2022-10-19 21:28
知道,那你什么意思,就是告诉我们一下,答案的代码是错的吗?

我想知道为啥会出现invalid syntax

jackz007 发表于 2022-10-19 21:41:36

zhehao.hu12 发表于 2022-10-19 21:37
我想知道为啥会出现invalid syntax

          可是,看不到代码,谁又能知道什么原因呢?
          你的代码里有金子,怕别人看?

zhehao.hu12 发表于 2022-10-19 21:52:40

jackz007 发表于 2022-10-19 21:41
可是,看不到代码,谁又能知道什么原因呢?
          你的代码里有金子,怕别人看?

>>> name = input("请输入您的名字:")
请输入您的名字:小甲鱼
>>> print("你好", name, sep=",", end="!")
你好,小甲鱼!

我一开始就发了你翻到最上面就可以看到

jackz007 发表于 2022-10-19 21:54:29

zhehao.hu12 发表于 2022-10-19 21:52
>>> name = input("请输入您的名字:")
请输入您的名字:小甲鱼
>>> print("你好", name, sep=",", en ...

      这不是很正常吗,说好的 invalid syntax 呢?

元豪 发表于 2022-10-20 18:33:15

zhehao.hu12 发表于 2022-10-19 20:33
sed参数是什么

print("你好", name, sep=",", end="!")

函数中的信息都叫参数。
页: [1]
查看完整版本: 帮帮忙