提问人:Richard 提问时间:9/19/2023 最后编辑:DaviidRichard 更新时间:9/19/2023 访问量:21
在此示例中,我可以使用什么语法来填充具有不同字符的空格?
What syntax could i use to padd spaces with different characters in this example?
问:
在解决了一些练习后,我从CodeWars上的另一个用户那里找到了这段代码,他使用了格式函数。
def rgb(r, g, b):
round = lambda x: min(255, max(x, 0))
return ("{:02X}" * 3).format(round(r), round(g), round(b))
但是经过几次尝试并搜索字符串格式后,我仍然不明白我怎么能(如果我想将来使用类似的东西)在代码“{:02X}”的这一部分中将“0”切换为某些不同的字符
当我尝试使用与零不同的数字时,我当然会得到更多的空格,当我尝试数字以外的其他字符时,我得到了一个错误。
答:
0赞
Daviid
9/19/2023
#1
这样做是重复 3 次{:02X}
("{:02X}" * 3)
所以格式实际上看到了这一点:
("{:02X}{:02X}{:02X}")
现在,意味着::02X
X
十六进制格式02
最少 2 个字符,其中 0 作为填充:
是值的占位符(您也可以用于强制获取第一个参数,因此实际上会打印 grb 而不是 rgb)0:
{1:02X}{0:02X}{2:02X}
如果你想用其他东西填充,你需要改变格式,例如:
def rgb(r, g, b):
round = lambda x: min(255, max(x, 0))
return ("{: <16}" * 3).format(round(r), round(g), round(b))
print(rgb(12,255,2))
输出
12 255 2
与左对齐的数字。<
如果要保持十六进制格式,则使用{: >16X}
评论