จะพิมพ์ linebreak ในฟังก์ชัน python ได้อย่างไร?


97

ฉันมีรายการสตริงในรหัสของฉัน

A = ['a1', 'a2', 'a3' ...]
B = ['b1', 'b2', 'b3' ...]

และฉันต้องการพิมพ์โดยคั่นด้วย linebreak ดังนี้:

>a1
b1
>a2
b2
>a3
b3

ฉันได้ลองแล้ว:

print '>' + A + '/n' + B

แต่ / n ไม่ได้รับการยอมรับเหมือนตัวแบ่งบรรทัด


1
ใช้\n. นั่นคือปัญหา
Trooper Z

คำตอบ:


242

คุณมีสแลชไปข้างหลังก็ควรจะเป็น "\n"


12
Backward slash = "\", forward slash = "/". OP มีเฉือนไปข้างหน้า
user3527975

10
@ user3527975 ฉันหมายถึงถอยหลังในแง่ของการย้อนกลับจากที่ควรจะเป็น
Winston Ewert

3
เนื่องจากมีความสับสน: @Geparda ใช้เครื่องหมายทับอื่น ๆ :)
rsm

2
@WinstonEwert คุณไม่คิดว่าคุณควรจะเขียนซ้ำเพื่อหลีกเลี่ยงความสับสนแทนที่จะปล่อยให้มันเป็น
Luca Bezerra

7
@LucaBezerra ไม่มีหลักฐานว่าใครสับสนแค่ว่าบางคนอวดรู้
Winston Ewert


9
>>> A = ['a1', 'a2', 'a3']
>>> B = ['b1', 'b2', 'b3']

>>> for x in A:
        for i in B:
            print ">" + x + "\n" + i

ผลลัพธ์:

>a1
b1
>a1
b2
>a1
b3
>a2
b1
>a2
b2
>a2
b3
>a3
b1
>a3
b2
>a3
b3

สังเกตว่าคุณกำลังใช้/nสิ่งที่ไม่ถูกต้อง!




1

\nคือลำดับการหลีกเลี่ยงซึ่งแสดงโดยแบ็กสแลช เครื่องหมายทับปกติเช่น/nจะไม่ทำงาน ในรหัสของคุณคุณกำลังใช้แทน/n\n


1

คุณสามารถพิมพ์ linebreak โดยใช้osไลบรารีมาตรฐาน

import os
with open('test.txt','w') as f:
    f.write(os.linesep)

1

นอกจากนี้หากคุณกำลังทำให้เป็นโปรแกรมคอนโซลคุณสามารถทำได้: print(" ")และดำเนินการต่อโปรแกรมของคุณ ฉันพบว่าเป็นวิธีที่ง่ายที่สุดในการแยกข้อความของฉัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.