鱼C论坛

 找回密码
 立即注册
查看: 3011|回复: 18

帮帮忙

[复制链接]
发表于 2022-10-19 18:28:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-19 18:36:08 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-10-19 18:47:59 | 显示全部楼层

那我要是以后像输出其他的标点符号怎么实现
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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 ! 一样,直接把它写进字符串就可以了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-19 20:21:19 | 显示全部楼层
zhehao.hu12 发表于 2022-10-19 18:47
那我要是以后像输出其他的标点符号怎么实现

把 sed 参数改一下就行了。如:
print('你好', name, sep='!', end='!')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-19 20:33:49 | 显示全部楼层
元豪 发表于 2022-10-19 20:21
把 sed 参数改一下就行了。如:

sed参数是什么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-19 20:34:20 | 显示全部楼层
jackz007 发表于 2022-10-19 19:09
sep 会出现在 print() 所打印的每个变量的输出内容之间,比如:

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

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-19 20:35:21 | 显示全部楼层
我复制答案给的代码然后run 他显示出来一个invalid syntax是什么意思啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-19 20:39:19 | 显示全部楼层
那是因为你是在 python shell 里面运行的,在控制台中,要先输入
a, b, c = 3, 5, 8

然后等待 shell 出现 >>> 提示符之后再输入
print(a, b, c, sep=":")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

         你这是什么意思,希望我们同情你?把出错的代码贴出来呀!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-19 21:14:47 | 显示全部楼层
jackz007 发表于 2022-10-19 20:40
你这是什么意思,希望我们同情你?把出错的代码贴出来呀!

我复制的答案里的代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-19 21:28:11 | 显示全部楼层
zhehao.hu12 发表于 2022-10-19 21:14
我复制的答案里的代码


          知道,那你什么意思,就是告诉我们一下,答案的代码是错的吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-19 21:37:51 | 显示全部楼层
jackz007 发表于 2022-10-19 21:28
知道,那你什么意思,就是告诉我们一下,答案的代码是错的吗?

我想知道为啥会出现invalid syntax
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-19 21:41:36 | 显示全部楼层
zhehao.hu12 发表于 2022-10-19 21:37
我想知道为啥会出现invalid syntax


          可是,看不到代码,谁又能知道什么原因呢?
          你的代码里有金子,怕别人看?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-19 21:52:40 | 显示全部楼层
jackz007 发表于 2022-10-19 21:41
可是,看不到代码,谁又能知道什么原因呢?
          你的代码里有金子,怕别人看?

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

我一开始就发了你翻到最上面就可以看到
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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


        这不是很正常吗,说好的 invalid syntax 呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-20 18:33:15 | 显示全部楼层

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

函数中的信息都叫参数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-5 14:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表