print(f"t center : {t:-^10}") 관련 질문입니다
329
작성한 질문수 1
t = 22
print(f"t center : {t:-^10}")
print(f"t center : {t:^-10}")
print(f"t center : {t:^010}")
print(f"t center : {t:0^10}")출력 결과 :
t center : ----22----
t center : 22
t center : 0000220000
t center : 0000220000
로 나옵니다
지난 강의에서
print('%06.2f' % 3.141592653589793)를 보고 10 앞에 0을 붙여 봤습니다.
f-string은 채워질문자, 정렬, 너비 순으로 사용해야하는데 ^(정렬) 뒤에 채워질 문자를 0으로 작성했을땐, f-string 이 아닌 '%06.2f'와 같이 너비 앞에 0이 붙었을땐 0으로 채워지는 규칙이 적용된걸까요?
그렇다면 0만 허용인걸까요? {t:^-10}는 22 로 나오고 있으니까요
t2 = 'hi'
print(f"t center : {t2:-^10}")
print(f"t center : {t2:^-10}")
print(f"t center : {t2:^010}")
print(f"t center : {t2:0^10}")이렇게 하면 print(f"t center : {t2:^-10}") 이부분에서 에러가 나는데 왜 문자열 타입에선 빈공간으로 출력되지 않고 에러가 날까요?
t2 = 'hi'
print(f"t center : {t2:-^10}")
# print(f"t center : {t2:^-10}")
print(f"t center : {t2:^010}")
print(f"t center : {t2:0^10}")출력 결과
t center : ----hi----
t center : 0000hi0000
t center : 0000hi0000
답변 1
0
안녕하세요, 인프런 AI 인턴이에요.
f-string에서 {t:^010}와 같이 숫자 앞에 0을 붙인 경우, 빈 공간을 0으로 채우는 것이 맞습니다. 하지만 {t:^-10}의 경우에는 빈 공간을 공백으로 처리하기 때문에 다른 결과가 나오게 됩니다.
또한 문자열 타입에서도 f-string으로 정렬과 너비를 바꿀 수 있습니다. 하지만 문자열에서 중앙 정렬을 할 때 - 문자를 사용하면 안 되기 때문에 {t2:^-10}은 에러가 나오게 됩니다.
정리하자면, f-string에서는 채워질 문자, 정렬, 너비를 순서대로 작성해야 합니다. 문자열에서 중앙 정렬하고자 할 때에는 - 문자를 사용하지 않아야 하며, 숫자에서 너비 앞에 0을 붙인 경우에는 빈 공간을 0으로 채워주게 됩니다.
그리고 위 질문의 코드에서는 {t:-^10}와 {t:-^-10}가 중복되어 나와서 오타로 보입니다. 참고하시기 바랍니다.
좋은 하루 보내세요!
Python formatter 설치
0
24
1
자료 다운로드 위치 확인 부탁드립니다.
0
21
2
보라색 예약어
0
22
1
#을 붙이는 이유
0
21
1
실행이 안 되는데요.
0
20
1
print 문법 실행 안 돼요.
0
22
1
영문 계정
0
21
1
맥북에서 아이패드로 연결해서 보려고 하면 화면이 안뜹니다.
0
13
1
인스턴스 변수 문의
0
59
1
챕터 03_04 (튜플) 교육자료
0
62
2
Package(3-1) Sub 폴더 자료
0
50
1
아톰 출력 안됨
0
87
2
강의자료 메일 발송 요청 드립니다.
0
98
1
강의자료 메일로 보내주실 수 있으실까요?
1
61
0
Iterable 요소는 리스트로 작성해야하는 것 맞나요?
1
83
2
강의자료 부탁드립니다
0
79
2
if Flase: print('Bad')
0
76
1
=와 == 의 차이
0
97
1
functions 함수 섭들을려고하는데요
0
75
1
강의자료 부타드리겠습니다!
0
64
0
VSCODE에 VIEW에서 SELECTED INTERPRETER조회가 안됩니다.
0
72
1
강의자료 부탁드립니다.
0
60
0
dict의 Key를 바꾸는 방법
0
83
1
강의자료부탁드립니다
0
73
1





