Desired output Desired outputvariant 似乎无法找到这段python代码的错误:
print('%-*s', low, '%-*s', mid, ' %-*s', high, '%-*s'
% (8, "", (var_range//3), "", (var_range//3), "", (var_range//3), ""))
我正在尝试根据用户(low
)的输入来区分变量:mid
,high
和var_range//3
。 (var_range // 3)充当自定义间距。我希望输出根据用户的范围而变化
P.S。我使用的是Python 3.4.4
答案 0 :(得分:0)
我不确定您尝试生成的输出,但此示例可能有所帮助:
var_range = 99
print('%*s %*s %*s' % (8, var_range//3, 8, var_range//3, 8, var_range//3))
输出:
33 33 33
此格式字符串需要3对值,后面的元组中总共有6对值。每对的第一个值是字段宽度(在所有三种情况下都为8
),第二个值是要显示的数值(在大多数情况下也是如此,因为您重复了{{1}也是三次)。
我还将每个值的格式从var_range//3
更改为'%-*s
,因此值显示是右对齐,而不是左对齐宽度。有关详细信息,请参阅string formatting documentation。
答案 1 :(得分:0)
使用newer style string formatting:
>>> var_range=24
>>> print('{:<{fill}}{:<{fill}}{:<{fill}}'.format(2, 12, 22, fill=var_range//3))
2 12 22
由于每个模式的模式相同,因此请为一个字段创建格式并重复3次。
>>> print(('{:>{fill}}' * 3).format(2, 12, 22, fill=var_range//3))
2 12 22