pkqbszs 发表于 2022-10-3 12:15:27

这个题怎么写,刚学python,没有思路

如题

jackz007 发表于 2022-10-3 12:28:37

本帖最后由 jackz007 于 2022-10-3 12:31 编辑

s = input("输入一个5位数:")
print(s , end = "")
for i in range(1 , len(s)):
    print("" , s , end = '')
print()

Twilight6 发表于 2022-10-3 12:30:52


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

参考代码:

number = input()
print(*number, sep="   ")

pkqbszs 发表于 2022-10-3 12:37:07

Twilight6 发表于 2022-10-3 12:30
利用解包,设置 sep 参数为三个空格进行打印可以吗

参考代码:

*number是什么意思呀

pkqbszs 发表于 2022-10-3 12:37:48

Twilight6 发表于 2022-10-3 12:30
利用解包,设置 sep 参数为三个空格进行打印可以吗

参考代码:

n=input()
for each in n:
    print(each,end='   ')


我这样写对吗

人造人 发表于 2022-10-3 12:39:24

我来个正则表达式的版本

>>> import re
>>> str_ = '012345'
>>> pattern = r'(\d)(?!$)'
>>> re.sub(pattern, r'\1   ', str_)
'0   1   2   3   4   5'
>>>

人造人 发表于 2022-10-3 12:45:47

pkqbszs 发表于 2022-10-3 12:37
*number是什么意思呀

“利用解包,设置 sep 参数为三个空格进行打印”

Twilight6 发表于 2022-10-3 12:53:22

pkqbszs 发表于 2022-10-3 12:37
我这样写对吗



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

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

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

临时号 发表于 2022-10-3 12:54:03

一行版本

Twilight6 发表于 2022-10-3 12:57:22

临时号 发表于 2022-10-3 12:54
一行版本



哈哈,我也来:

print(*input(), sep="   ")

临时号 发表于 2022-10-3 13:07:04

Twilight6 发表于 2022-10-3 12:57
哈哈,我也来:

你这个比我的简洁多了{:10_254:}

Twilight6 发表于 2022-10-3 13:31:02

临时号 发表于 2022-10-3 13:07
你这个比我的简洁多了

{:10_282:}

pkqbszs 发表于 2022-10-3 16:59:31

Twilight6 发表于 2022-10-3 12:57
哈哈,我也来:



我这么写为什么不行呀,sep不是规定每个字符中间隔着三个空格吗

pkqbszs 发表于 2022-10-3 17:00:23

Twilight6 发表于 2022-10-3 12:57
哈哈,我也来:

难道是说sep只对一次打印多个字符起作用,循环的时候就不管用了吗

Twilight6 发表于 2022-10-3 17:03:29

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


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

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

pkqbszs 发表于 2022-10-3 17:13:27

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

那使用for循环时怎么用print里的sep参数才能达到这个效果呀

Twilight6 发表于 2022-10-3 17:21:13

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


这样也可以实现:

numStr = input()
for i in numStr[:-1]:
    print(i, end="   ")
print(numStr[-1])

或者你循环索引,在 if 里面判断最后一个时候 print 打印 end = "" 控制符 的即可
页: [1]
查看完整版本: 这个题怎么写,刚学python,没有思路