주 콘텐츠로 건너뛰기
이패스코리아 고객센터

Python 코딩 Master Course - Advance 20강 재질문

 

 

  • 과정명: 
  • 강사명: 

print("I remember {0: .4} or {0: .4%} of what Lu Chao recited".format(7/67890))

I remember 0.0001031 or 0.0103% of what Lu Chao recited

여기서 {0: .4} 하면 소수점 4째자리까지만 표시된다고 하셨는데

왜 결과값은 소수점 7째자리인 I remember 0.0001031이 나오는건가요?

 

그리고 점 없이 그냥 {0:4}하면 계산된 결과가 통으로 나오던데 여기서 0:4의 의미가 뭐길래 7/67890결과값인

0.00010310797 나오는건가요?  {0:4}의 의미가 뭐죠?

 

기존 답변 내용이 7/67890 계산기값은 다음과 같습니다 이렇게 3줄만 적혀있어서

재질문드립니다.....

답변 내용이 성의가 없어서 기분이 많이 나쁩니다.. 

제가 궁금했던것은 왜 강의 내용대로 {0: .4}를 했는데도 소수점 4째자리가 아니라 7째자리까지 나오는지...

{0: .4}가 아니라 그냥 {0:4}를 입력하면

print("I remember {0:4} or {0: .4%} of what Lu Chao recited".format(7/67890))

I remember 0.00010310796877301516 or  0.0103% of what Lu Chao recited

 이렇게 나오는데 {0:4} 의 의미가 무엇이어서 0.00010310796877301516 이렇게 나오는지 질문드린겁니다

0

댓글

댓글 3개
날짜 투표수
  • 7/67890을 계산기로 계산하면 아래와 같습니다.

     

    e-4를 없이 쓰면 0.0001031079687730152입니다.

     

    여기에서

     

    {0:4}, {0:.4%}의 

    0은 format 메서드에서 전달받을 값(7/67890)을 의미

    .4는 소수점 이하 숫자 4개까지 출력(점이 붙어 있음, 소수점 자리 4자리 맞음)

    4 => 소수점 없음! 소수점 4째자리가 아니고 실제 데이터 4개를 의미

    그러므로 0.0001031이 출력되며,

    .4%는 7/67890의 결과값을 백분율로 환산하여 출력 => 0.0001031의 %는 100을 곱하는 거니까 0.0103%가 출력 됩니다.

     

    점 없이 그냥 {0:4}하면 계산된 결과가 통으로 나온다고 하셨는데, 0 자체가 통으로 나오게끔 하는 의미이고, 4는 정수쪽으로 데이터를 뽑는 요소인데 

    현재는 값 자체가 소수점을 포함하는 데이터이므로 의미가 없는 것으로 보여지겠습니다.

     

    예를 들어 아래와 같이 입력해보시면

     

    f = 3.14

     

    print('f: %5.2f' % (f)) # f: 3.14

    print('f: %05.2f' % (f)) # f: 03.14

     

    주석에서 보이는 결과값이 보여지며 05.2f의 해석은 전체 5자리(소수점 포함)을 의미하며, 소수점 포함하여 3자리를 차지(.2f)하고, 정수쪽으로는 2자리가 남아 있는데 남는 자리는 0으로 채우라는 뜻입니다.

     

    해석에 참고 하세요

     

    https://withcoding.com/64

     

    성의 있는 답변을 드렸는데, 답변봇이 사진으로 인해 정상적인 답변을 드리지 못한거 같습니다.

     

    0
  • .4는 소수점 이하 숫자 4개까지 출력 => 소수점 4째자리가 아니고 소수점 이하 숫자 갯수 4개를 의미 그러므로 0.0001031이 출력되며,

    소수점 이하 숫자 갯수 4개를 의미하는거면 0.0001이 나와야하는거 아닌가요?

    0
  • 정리 드립니다.

     

    {0:4} <- 실제 코드 0.0001031 출력

    {0:.4} <- .4는 소수점 이하 숫자 4개까지 출력

     

    .4는 소수점 이하 숫자 4개까지 출력(점이 붙어 있음, 소수점 자리 4자리 맞음)

     

    4 => 소수점 없음! 소수점 4째자리가 아니고 실제 데이터 4개를 의미

    그러므로 0.0001031이 출력

     

    이해되는 답변이였으면 좋켔습니다^^

    0

댓글을 남기려면 로그인하세요.

 

원하는 것을 찾지 못하셨나요?

질문하기