python - 如何使用变量而不是直接输入在 Python 中对齐文本?
问题描述
我正在尝试编写一个函数,它需要 6 个输入、一个名字和姓氏、两个对齐字符和两个对齐长度。该函数应该使用对齐变量显示名称,如下所示:
|First name | Last name|
|John | Smith|
我了解如何通过使用 f 字符串或字符串格式直接输入所需的值来进行文本对齐,例如
{first_name:<12}
但是如何用变量替换 :<12 ?我不断收到 f 字符串语法错误。她是我正在尝试的:
def display_name(first_name, last_name, align1, length1, align2, length2):
if align1 == "L":
align1 = "<"
elif align1 == "R":
align1 = ">"
elif align1 == "C":
align1 = "^"
if align2 == "L":
align2 = "<"
elif align2 == "R":
align2 = ">"
elif align2 == "C":
align2 = "^"
print(f"{|First name:{align1}.{length1}}|{Last name:{align2}.{length2}}|")
print(f"{|first_name:{align1}.{length1}}|{last_name:{align2}.{length2}}|")
解决方案
你很亲密。您不应该|
在 f 字符串说明符中包含 。只需交换您的|
and{}
并且您的代码运行不会出错。
print(f"|{first_name:{align1}.{length1}}|{last_name:{align2}.{length2}}|")
推荐阅读
- php - Laravel 下载视图为带有图像的 pdf
- css - iPhone X 和 iPhone 6/7/8 plus 视图中的 css 媒体查询冲突
- javascript - 获取滑块手柄的 X、Y 坐标或位置?
- java - 一旦设置了绑定的 TextProperty,就无法输入 JavaFx TextField
- php - 用于截取在 localhost 上运行的网页的脚本
- apache - 使用没有 root 权限的用户运行 docker 命令(可能使用 Apache 的 www-data 用户)
- php - Yii2 Swiftmailer 无法发送图像和字体很棒的图标
- java - 在组合框中加载特定名称作为第一行
- azure - 如何在虚拟网络中创建 Azure 容器注册表?
- react-native - react-native-navigation 更新子数据但保留父数据