首页 > 解决方案 > 想在python中从旧版本制作新版本的格式化字符串

问题描述

这是一个旧版本的格式化字符串。我想将此代码转换为新版本的格式化字符串以及这种垂直打印的工作方式。

cat1 = 2
cat2 = 3
cat3 = 1
cat4 = 4

header = ['0-29', '30-39', '40-69', '70-100']
print(' '.join(header))
for x in range(max(cat1, cat2, cat3, cat4)):
    print(" {0}     {1}     {2}     {3}".format(
        '*' if x < cat1 else ' ',
        '*' if x < cat2 else ' ',
        '*' if x < cat3 else ' ',
        '*' if x < cat4 else ' '
    ))

标签: pythonstring

解决方案


您只需用实际表达式替换占位符:

print(f" {'*' if x < cat1 else ' '}     {'*' if x < cat2 else ' '}     {'*' if x < cat3 else ' '}     {'*' if x < cat4 else ' '}")

推荐阅读