F 字符串正在添加新行
F string is adding new line
我正在尝试制作名称生成器。我正在使用 F 字符串连接名字和姓氏。但是我没有将它们放在一起,而是将它们放在新的一行中。
print(f"Random Name Generated is:\n{random.choice(firstname_list)}{random.choice(surname_list)}")
输出如下:
Random Name Generated is:
Yung
heady
而不是:
Random Name Generated is:
Yung heady
有人可以解释一下为什么吗?
代码似乎是正确的,可能是列表元素中的换行符(\n)。
检查列表的字符串。
import random
if __name__ == '__main__':
firstname_list = ["yung1", "yung2", "yung3"]
surname_list = ["heady1", "heady2", "heady3"]
firstname_list = [name.replace('\n', '') for name in firstname_list]
print(f"Random Name Generated is:\n{random.choice(firstname_list)} {random.choice(surname_list)}")
输出:
Random Name Generated is:
yung3 heady2
由于我从 UTF-8 编码的 .txt 文件中提取了这些值,readlines() 确实将名称转换为列表元素,但其中隐藏了一个“\xa0\n”。
这导致了这个特殊的打印问题。使用 .strip() 有助于删除空格。
print(f"Random Name Generated is:\n{random.choice(firstname_list).strip()} {random.choice(surname_list).strip()}")
我正在尝试制作名称生成器。我正在使用 F 字符串连接名字和姓氏。但是我没有将它们放在一起,而是将它们放在新的一行中。
print(f"Random Name Generated is:\n{random.choice(firstname_list)}{random.choice(surname_list)}")
输出如下:
Random Name Generated is:
Yung
heady
而不是:
Random Name Generated is:
Yung heady
有人可以解释一下为什么吗?
代码似乎是正确的,可能是列表元素中的换行符(\n)。 检查列表的字符串。
import random
if __name__ == '__main__':
firstname_list = ["yung1", "yung2", "yung3"]
surname_list = ["heady1", "heady2", "heady3"]
firstname_list = [name.replace('\n', '') for name in firstname_list]
print(f"Random Name Generated is:\n{random.choice(firstname_list)} {random.choice(surname_list)}")
输出:
Random Name Generated is:
yung3 heady2
由于我从 UTF-8 编码的 .txt 文件中提取了这些值,readlines() 确实将名称转换为列表元素,但其中隐藏了一个“\xa0\n”。
这导致了这个特殊的打印问题。使用 .strip() 有助于删除空格。
print(f"Random Name Generated is:\n{random.choice(firstname_list).strip()} {random.choice(surname_list).strip()}")