鱼C论坛

 找回密码
 立即注册
查看: 2599|回复: 16

[已解决]这个题怎么写,刚学python,没有思路

[复制链接]
发表于 2022-10-3 12:15:27 | 显示全部楼层 |阅读模式

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

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

x
如题
最佳答案
2022-10-3 12:30:52

利用解包,设置 sep 参数为三个空格进行打印可以吗

参考代码:

  1. number = input()
  2. print(*number, sep="   ")
复制代码


微信图片_20221003121331.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-3 12:28:37 | 显示全部楼层
本帖最后由 jackz007 于 2022-10-3 12:31 编辑
  1. s = input("输入一个5位数:")
  2. print(s[0] , end = "")
  3. for i in range(1 , len(s)):
  4.     print("  " , s[i] , end = '')
  5. print()
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-3 12:30:52 | 显示全部楼层    本楼为最佳答案   

利用解包,设置 sep 参数为三个空格进行打印可以吗

参考代码:

  1. number = input()
  2. print(*number, sep="   ")
复制代码


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

使用道具 举报

 楼主| 发表于 2022-10-3 12:37:07 | 显示全部楼层
Twilight6 发表于 2022-10-3 12:30
利用解包,设置 sep 参数为三个空格进行打印可以吗

参考代码:

*number是什么意思呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-3 12:37:48 | 显示全部楼层
Twilight6 发表于 2022-10-3 12:30
利用解包,设置 sep 参数为三个空格进行打印可以吗

参考代码:
  1. n=input()
  2. for each in n:
  3.     print(each,end='   ')
复制代码


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

使用道具 举报

发表于 2022-10-3 12:39:24 | 显示全部楼层
我来个正则表达式的版本

  1. >>> import re
  2. >>> str_ = '012345'
  3. >>> pattern = r'(\d)(?!$)'
  4. >>> re.sub(pattern, r'\1   ', str_)
  5. '0   1   2   3   4   5'
  6. >>>
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-3 12:45:47 | 显示全部楼层
pkqbszs 发表于 2022-10-3 12:37
*number是什么意思呀

“利用解包,设置 sep 参数为三个空格进行打印”
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-3 12:53:22 | 显示全部楼层



你代码这样写会导致你最后一个数字后面也会带上三个空格,看你测试程序能不能过吧,如果能过也行

*number 就是解包嘛,将序列中的元素都取出

例如 number = "01234" 时,print(*number, sep="   ") 相当于 print("0", "1", "2", "3", "4", sep="   ")

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

使用道具 举报

发表于 2022-10-3 12:54:03 | 显示全部楼层
一行版本
  1. [print(i,end="   ") for i in input()]
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2022-10-3 12:57:22 | 显示全部楼层




哈哈,我也来:

  1. print(*input(), sep="   ")
复制代码


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

使用道具 举报

发表于 2022-10-3 13:07:04 | 显示全部楼层

你这个比我的简洁多了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-3 13:31:02 | 显示全部楼层
临时号 发表于 2022-10-3 13:07
你这个比我的简洁多了


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

使用道具 举报

 楼主| 发表于 2022-10-3 16:59:31 | 显示全部楼层
  1. [print(i,sep="   ",end='') for i in input()]
复制代码

我这么写为什么不行呀,sep不是规定每个字符中间隔着三个空格吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-3 17:00:23 | 显示全部楼层

难道是说sep只对一次打印多个字符起作用,循环的时候就不管用了吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-3 17:03:29 | 显示全部楼层
pkqbszs 发表于 2022-10-3 17:00
难道是说sep只对一次打印多个字符起作用,循环的时候就不管用了吗


sep 参数是指 print 函数打印各个参数时,会用 sep 参数值隔开,sep 默认参数的值为一个空格,也就是你题目所说 一个逗号为一个空格

你 for 循环打印 i 时,只传入了这个参数,其他两个参数是 print 自带的,不属于你传入的参数,不会导致各参数间打印 sep 参数值

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

使用道具 举报

 楼主| 发表于 2022-10-3 17:13:27 | 显示全部楼层
Twilight6 发表于 2022-10-3 17:03
sep 参数是指 print 函数打印各个参数时,会用 sep 参数值隔开,sep 默认参数的值为一个空格,也就是你 ...

那使用for循环时怎么用print里的sep参数才能达到这个效果呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-3 17:21:13 | 显示全部楼层
pkqbszs 发表于 2022-10-3 17:13
那使用for循环时怎么用print里的sep参数才能达到这个效果呀


这样也可以实现:

  1. numStr = input()
  2. for i in numStr[:-1]:
  3.     print(i, end="   ")
  4. print(numStr[-1])
复制代码


或者你循环索引,在 if 里面判断最后一个时候 print 打印 end = "" 控制符 的即可
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 11:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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