gpt4 book ai didi

python - 如何将字符串格式作为变量传递给 f 字符串

转载 作者:太空宇宙 更新时间:2023-11-03 13:56:39 25 4
gpt4 key购买 nike

我正在使用 f 字符串,我需要定义一个依赖于变量的格式。

def display_pattern(n):
temp = ''
for i in range(1, n + 1):
temp = f'{i:>3}' + temp
print(temp)

如果相关,display_pattern(5) 的输出是:

  1
2 1
3 2 1
4 3 2 1
5 4 3 2 1

我想知道是否可以操纵格式 >3,并传递一个变量。例如,我尝试了以下方法:

def display_pattern(n):
spacing = 4
format_string = f'>{spacing}' # this is '>4'
temp = ''
for i in range(1, n + 1):
temp = f'{i:format_string}' + temp
print(temp)

但是,我收到以下错误:

Traceback (most recent call last):
File "pyramid.py", line 15, in <module>
display_pattern(8)
File "pyramid.py", line 9, in display_pattern
temp = f'{i:format_string}' + temp
ValueError: Invalid format specifier

有什么方法可以让这段代码正常工作吗?要点是能够使用变量来控制间距以确定填充量。

最佳答案

你应该把format_string作为变量

temp = f'{i:{format_string}}' + temp

: 之后的下一个代码在您明确指出之前不会被解析为变量。并感谢@timpietzcker 提供文档链接:formatted-string-literals

关于python - 如何将字符串格式作为变量传递给 f 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54780428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com