我不想让它变成字符,就用整数格式实现,是用%-2d这样吗?
时间: 2024-03-14 20:42:59 浏览: 60
是的,如果你想要让一个整数占据 2 个位置,并且左对齐输出,可以使用 `%-2d` 格式化字符串的语法来实现。在这种情况下,如果整数不足 2 位,则会在后面自动补上空格。如果整数超过 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("%-2d + %-2d = %-2d" % (int(a), int(b), result))
elif '-' in exp:
a, b = exp.split('-')
result = int(a) - int(b)
print("%-2d - %-2d = %-2d" % (int(a), int(b), result))
elif '*' in exp:
a, b = exp.split('*')
result = int(a) * int(b)
print("%-2d * %-2d = %-2d" % (int(a), int(b), result))
elif '/' in exp:
a, b = exp.split('/')
result = int(a) / int(b)
print("%-2d / %-2d = %-2.1f" % (int(a), int(b), result))
else:
print("Invalid expression:", exp)
```
在 `print` 语句中,使用了 `%-2d` 格式化字符串的语法,表示将整数左对齐输出,并占据 2 个位置。这样就可以实现让整数占据 2 个位置,且左对齐输出的需求了。