对于b,我想让b占位为2,但是如果只有一个数字的话,这个数字在前面的位置
时间: 2024-03-14 09:42:59 浏览: 14
如果想要让 b 占 2 个位置,可以使用 `%2s` 来进行占位。同时,如果 b 是一个数字,它只会占 1 个位置,我们可以将其转化为字符串,然后使用 `str.rjust()` 函数将其右对齐,使得它占据 2 个位置。修改后的代码如下:
```python
with open("test5.txt", "r") as f:
expressions = f.read().split()
for exp in expressions:
if '+' in exp:
a, b = exp.split('+')
result = int(a) + int(b)
print("%2s + %2s = %2d" % (a, str(b).rjust(2), result))
elif '-' in exp:
a, b = exp.split('-')
result = int(a) - int(b)
print("%2s - %2s = %2d" % (a, str(b).rjust(2), result))
elif '*' in exp:
a, b = exp.split('*')
result = int(a) * int(b)
print("%2s * %2s = %2d" % (a, str(b).rjust(2), result))
elif '/' in exp:
a, b = exp.split('/')
result = int(a) / int(b)
print("%2s / %2s = %2.1f" % (a, str(b).rjust(2), result))
else:
print("Invalid expression:", exp)
```
在 `print` 语句中,使用了 `%2s` 来表示将参数输出为占位为 2 的字符串。如果 b 是一个数字,我们将其转化为字符串,然后使用 `str.rjust()` 函数将其右对齐,使其占据 2 个位置。这样就可以实现让 b 占据 2 个位置的需求了。