인프런 커뮤니티 질문&답변

s jh님의 프로필 이미지
s jh

작성한 질문수

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

파이썬 Print 사용법(1-3)

print('{:10.5}'.format('pythonstudy'))

작성

·

180

0

print('{:10.5}'.format('pythonstudy'))

강의설명 : 10공간을 확보했지만 5자리만 나오게 한다 !!

---------------이상한점--------------------

print('{10.5d}'.format('123456'))

은 에러가 뜨네요??? 이유가 뭔가요?

답변 4

0

print('{:10.5}'.format('pythonstudy'))

강의설명 : 10공간을 확보했지만 5자리만 나오게 한다 !!

---------------이상한점--------------------

print('{10.5d}'.format('123456'))

은 에러가 뜨네요??? 이유가 뭔가요?

---------------------------------------

위에껀 string 이라서, 'pythonstudy' 총 10자리 중에
5자리만 보이게 하는거라서 pytho+공백5칸

아래의 오류는

print('{10.5d}'.format('123456'))

10.5 앞에 콜론 : 이 빠졌고,
d라는 정수인데 '123456' 문자열 형태로 적어줘서
에러가 난것 같습니다.

그래서

print('{:10.5}'.format('123456'))

#출력은 12345 + 공백5칸

이렇게 하면 됩니다.

이렇게 하면 에러가 안나네요.

그렇다면,

print('%10.5d' % (123456)) 은 되는데,

print('{:10.5d}'.fortmat(123456))은 에러입니다.

이부분은 저도 잘 모르겠네요.

print('%10d' % (123456))와
print('%10.5d' % (123456)) 은 

결과값이
공백4칸 + 123456
입니다.

어쩌면, 
제가 이해하기로는
print('{:}'.fortmat())
이 문법이 % 문법보다는 좀 더 엄격한것 같습니다.
그래서 d가 정수인데, 10.5d 라고 하면, 우리가 얻고자 하는 값이 f처럼 소수점이 나올 수 없는데 10.5라고 해서 그런게 아닐까 싶기도 하고,
string 처럼 10자리를 확보하고 5자리까지만 보여라고 하는 거랑은 다른 문법 같아요.

저도 명확히는 모르겠습니다만,
그냥 안되는구나 생각할 수 밖에 없을 것 같네요.

0

print('%10.5d' % (12345)) 

이렇게 하면 돼용 ..  조금 늦었지만 ...  

영상에 나와있네요.. 

0

s jh님의 프로필 이미지
s jh
질문자

ㅋㅋ저는 에러가 난다고 검색을 안한적도 없고요 검색만 몇일간 했어요 무작정 질문하지도 않았고요

그리고  제가 질문을 잘못 한것 같네요

참고로 링크 꼼꼼히 다 읽어봤습니다 (아는내용이네요)

print('{:10.5}'.format('pythonstudy')) :  여기서 문자형일떄는 10자리확보하고 5개만 나오게 한다고 강의에서 말했는데

print('{10.5d}'.format('123456')) : 제가 궁금해서 정수형일때는 10자리확보한후 5개만 나오게 할수있는지

 확인을 해봤는데 에러가 떠서 원래 안되는건지? 아니면 다른 방법이 있는지 물어본 겁니다

0

좋은사람님의 프로필 이미지
좋은사람
지식공유자

이미 설명이 나와 있는 링크를 안내해 드렸습니다.

지금 질문은 잘 생각해 보시면 인덱스 범위 에러가 날 걸로 생각되네요.

이미 에러 내용이 발생했을거고 그 부분만 검색을 해도 충분한 답변이 되는 자료가 많습니다.

조금 의문이 난다고 검색이나 다른 방법을 통하지 않고 무조건 질문만 하시면 제가 

답변을 항상 해드리기는 곤란해요.

IndexError: tuple index out of range

아래 남겨준 질문과 대체해서 아래 링크를 정확하게 읽어보세요.

https://dojang.io/mod/page/view.php?id=2300

s jh님의 프로필 이미지
s jh

작성한 질문수

질문하기