在一个语句中打印多行而不使用前导空格

时间:2014-09-05 00:32:31

标签: python python-3.x

因此,对于我的第一个项目,它是一个简单的程序,可以打印您所在的姓名类以及您去过的高中。弄乱我的一件事就是其中一个我必须使用一个print()语句,我需要对其进行格式化,以便每条信息都在不同的行上。

我想要的格式:

first_name, last_name
course_id, course_name, email
school

但我得到的是

first_name, last_name
 course_id, course_name, email
 school

如何删除空格?

我的代码如下:

first_name = 'Daniel'
last_name = 'Rust'
course_id = 'Csci 160'
course_name = 'Computer Science 160'
email = 'blah@gmail.com'
school= 'Red River Highschool'

#variables printed for B
print(first_name, last_name, '\n', course_id, course_name, email, '\n', school, '\n')

7 个答案:

答案 0 :(得分:3)

print在每个参数之间插入一个空格。您可以在最后, sep=''之后添加'\n'来停用此功能,但first_namelast_name之间或course_id和{之间不会有任何空格{1}}等等。然后,您可以在course_name语句中手动插入, ' ',但到那时,只需提供print即可。通过将字符串与显式空格连接而形成的单个参数:

print

答案 1 :(得分:3)

如上所述here,您可以使用sep=''函数的print()参数。这将允许您将打印值(默认为空格)之间的分隔符设置为您想要的任何值,包括空字符串。您必须记住在想要分隔的值之间添加空格。如,

print(first_name, ' ', last_name, '\n', course_id, [...], sep='')

有一个更好的方法来执行此操作,将format()方法包含在字符串上,但是您的教授可能会在下一课中保存该方法,所以我现在不会详细介绍它。如果您需要更多详细信息,请访问Python文档的链接,并阅读有关格式字符串语法的部分。我将使用format()向您展示代码的示例:

print("{} {}\n{} {} {}\n{}".format(first_name, last_name, course_id, course_name, email, school))

请注意最后没有\n,因为除非您另有说明,否则print()会自动添加换行符。

答案 2 :(得分:1)

我建议您通过str.format()阅读以打印您的信息。

输出中的空格来自于您调用了print函数,传递了一个字符串列表,而不是将print函数传递给一个字符串。

print(first_name + ' ' + last_name + '\n' + course_id + ' ' + course_name + ' ' + email + '\n' + school)

产量

Daniel Rust
Csci 160 Computer Science 160 blah@gmail.com
Red River Highschool

答案 3 :(得分:0)

只是不要在代码中添加空格

print(first_name, last_name, '\n',course_id, course_name, email, '\n', school, '\n')

答案 4 :(得分:0)

如何使用一条打印语句来打印多行以及如何添加新行?

pi = 3.14159 # approximate
diameter = 3
radius = diameter/2
area = pi * radius * radius
circumference = 2 * pi * radius
print("{}\n{}\n{}\n".format(area,radius,circumference))

输出:: 7.068577499999999 1.5 9.424769999999999

上面,您将获得此代码的正确答案。

答案 5 :(得分:0)

有很多方法可以做到这一点。 首先可以是str.format()作为

print ('{} {}\n{} {} {}\n{}'.format(first_name, last_name, course_id, course_name, email, school))

第二个可以是

print (first_name, ' ', last_name, '\n',course_id, ' ', course_name, ' ', email, '\n',school, sep = '')

第三个可以是

print (first_name + ' ' + last_name + '\n' + str(course_id) + ' ' + course_name + ' ' + email + '\n' + school)

答案 6 :(得分:0)

在python中使用f-string进行简单的多行打印,

first_name = 'Daniel'
last_name = 'Rust'
course_id = 'Csci 160'
course_name = 'Computer Science 160'
email = 'blah@gmail.com'
school= 'Red River Highschool'

#variables printed for B
print(first_name, last_name, '\n', course_id, course_name, email, '\n', school, '\n')

print(f''' 
{first_name}, {last_name}
{course_id}, {course_name}, {email}
{school}''')

Daniel Rust
 Csci 160 Computer Science 160 blah@gmail.com
 Red River Highschool


Daniel, Rust
Csci 160, Computer Science 160, blah@gmail.com
Red River Highschool

[Program finished]