python - 想在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 ' '
))
解决方案
您只需用实际表达式替换占位符:
print(f" {'*' if x < cat1 else ' '} {'*' if x < cat2 else ' '} {'*' if x < cat3 else ' '} {'*' if x < cat4 else ' '}")
推荐阅读
- python - 如何管理库存:添加、删除、修改/更新、搜索和打印
- java - java.sql.SQLException: 列 'Max(category_id' 未找到
- python - Python 相对路径
- arrays - Python迭代数组
- html - 如何在 A-Frame 中正确加载 GTLF 文件(特别是在故障中?)
- javascript - 确保在 Angular 注入服务之前完全初始化服务?
- python - 如何从键值对字典中检索前 5 个最大值(整数)?
- c# - 使用多级嵌套反序列化 JSON
- javascript - 用 Lodash 分组
- javascript - Marker Clusterer 不是构造函数