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()}")