在尝试了像strip这样的操作符之后,我在python中的多行打印结果前面仍然有空间

2024-09-24 22:26:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在写一个打印部分,代码是:

print(firstname,"\n",
      lastname,"\n",
      address,"\n",
      nationality,"\n",
      cellphone,"\n",
      homephone)

变量的值没有空间。结果是:

Amy 
 Chen 
 123 Alberta St. 
 US 
 1234 
 5678

我想要的结果应该是:

Amy 
Chen 
123 Alberta St. 
US 
1234 
5678

我尝试了.strip和.rstrip等操作符来删除每个变量前面的空格:

print(firstname.strip(),"\n",
      lastname.strip(),"\n",
      address.strip(),"\n",
      nationality.strip(),"\n",
      cellphone.strip(),"\n",
      homephone.strip())

但结果是一样的。有人能告诉我原因和解决办法吗?谢谢


Tags: 代码address空间firstnameusststripprint
3条回答

你试过print('\n'.join([firstname, lastname, address, nationality, cellphone, homephone]))吗?你知道吗

打印名,“\n”,姓,“\n”,地址,“\n”,国籍

原因是print接受可选的sep参数,该参数控制在任意两个值之间打印的内容,并且默认为空格。虽然@Jason的答案是正确的,但是基本上需要在值之间有一条新线。所以只要把sep设为\n

print(firstname,
      lastname,
      address,
      nationality,
      cellphone,
      homephone,
      sep='\n')

相关问题 更多 >