如何解决F 字符串正在添加新行
我正在尝试制作名称生成器。我使用 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()}")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。