영수증을 문자열 형식으로 작성한 다음 주 프로그램으로 다시 전달하여 인쇄합니다. 나는를위한 루프가이 작업을 수행하려고하지만 - 그들은 부동 소수점 값 목록에서 생성 된.format()을 사용한 여러 줄 문자열 들여 쓰기
food_prices = "\n22.40\n13.40\n"
drink_prices = "\n11.50\n6.90\n"
:
그래서, 나는 한 각각의 사이에서 \ n 인 가격을 포함하는 두 개의 문자열을 가지고 결코 일하게하지 마라. 영수증 문자열이 주 프로그램에 전달 된 이후에 내가받은 모든 것은 엄청나게 버그가있는 인쇄물이었습니다.
각 줄이 "\ n"으로 인해 줄 바꿈되어 오른쪽으로 16 개 공백으로 들여 쓰기되도록 .format()로 서식을 지정하려고합니다. 출력이 예상되는 것의 예는하기 :
123456789# For readability, ignore
Food:
22.40
13.40
Drinks:
11.50
6.90
------------------------------
Total 54.20
내가 시도하는 것 :
는receipt = (...
"Food:\n"
"{:>16}"
"Drinks:\n"
"{:>16}"
"------------------------------\n"
"{:>7.2f}"
"Total {:>7.2f}\n").format(food_prices, drink_prices, total)
출력의 모습 :
Food:
12.4
5.43
7.65
Drinks:
5.4
8.76
5.4
------------------------------
Total 45.04
들여 쓰기는 하나의 작업 않습니다 가격 ("\ n0.00 \ n"). 나는 이것이 어떻게 수행되어야하는지 정확히 모르겠습니다. 필자는 공식 문서 (및 PEP)를 참조하고 인터넷 검색을 수행했습니다.