微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

F 字符串正在添加新行

如何解决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

enter image description here

谁能解释一下为什么会这样?

解决方法

代码看起来是正确的,可能是列表元素中的换行符 (\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 举报,一经查实,本站将立刻删除。