Czytałem podręcznik i natknąłem się na ciekawy problem, z prośbą o wydrukowanie adresu, takiego jak korzystanie z wypowiedzi typu Drukuj ::

John Doe
123 Main Street
AnyCity, AS 09876

Próbuję faktycznie dowiedzieć się, czy można to zrobić za pomocą instrukcji drukowania One , ale nie mogę dowiedzieć się, jak dodać nową linię za pomocą metody .Format () w Pythonie 3. Oto Co próbowałem:

>>> first = 'John'
>>> last = 'Doe'
>>> street = 'Main Street'
>>> number = 123
>>> city = 'AnyCity'
>>> state = 'AS'
>>> zipcode = '09876'
>>> 
>>> ("{0} {1}\n{2} {3}\n{4}, {5} {6}").format(first, last, number, street, city, state, zipcode)
'John Doe\n123 Main Street\nAnyCity, AS 09876'
>>>
>>> ("{0} {1}'\n'{2} {3}'\n'{4}, {5} {6}").format(first, last, number, street, city, state, zipcode)
"John Doe'\n'123 Main Street'\n'AnyCity, AS 09876"
>>>
>>> ("{0} {1}{7}{2} {3}{8}{4}, {5} {6}").format(first, last, number, street, city, state, zipcode, '\n', '\n')
'John Doe\n123 Main Street\nAnyCity, AS 09876'
>>>
>>> ("{0} {1} \n {2} {3} \n {4}, {5} {6}").format(first, last, number, street, city, state, zipcode)
'John Doe \n 123 Main Street \n AnyCity, AS 09876'

Jest to prawdopodobnie super proste pytanie i właśnie brakuje mi czegoś naprawdę podstawowego. Dzięki za pomoc.

11
Jose Magana 16 sierpień 2014, 23:05

2 odpowiedzi

Najlepsza odpowiedź

Działa, jeśli print to. Proszę przeczytać Ten post wyjaśniający print vs {{x2 }}.

print ("{0} {1}\n{2} {3}\n{4}, {5} {6}").format(first, last, number, street, city, state, zipcode)

Wynik

John Doe
123 Main Street
AnyCity, AS 09876

Jeśli po prostu wpiszesz zmienną w biegu jałowym, faktycznie użyje repr, dlatego była reprezentowana jako pojedyncza linia.

>>> repr(("{0} {1}\n{2} {3}\n{4}, {5} {6}").format(first, last, number, street, city, state, zipcode))
"'John Doe\\n123 Main Street\\nAnyCity, AS 09876'"
17
Cory Kramer 16 sierpień 2014, 19:07

Nie jestem pewien, dlaczego nie mogłem znaleźć tej odpowiedzi nigdzie indziej, ale:

print("{}Walking time is: {:,.3f} hours{}".format("\n", walking_time, "\n"))

Pracował. Wystarczy wstawić symbole zastępcze, a następnie dołącz się na liście Wstaw.

4
Howard 18 grudzień 2018, 18:01