[PYTHON] 4344 평균은 넘겠지 f-string으로 %,부동소수점,n번째 자리까지 출력하기

    https://www.acmicpc.net/problem/4344

     

    4344번: 평균은 넘겠지

    대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.

    www.acmicpc.net

    solution

    import sys
    t = int(sys.stdin.readline().strip())
    for _ in range(t):
      data = list(map(int, sys.stdin.readline().strip().split()))
      N = data[0]
      score_list = data[1:]
    
      mean_score = sum(score_list)/N
      cnt = 0
      for score in score_list:
        if score > mean_score : # 평균보다 점수가 크면 카운팅을 세줌
          cnt += 1
    
      print(f'{cnt/N :.3%}')

    새롭게 배운 점

    • f-string
    • f'{숫자 : 데이터타입}'
      • n번째 자리까지 출력
      • f'{숫자 : .n(n번째 소수점 자리)데이터타입}'
      • 소수점 n번째 자리까지만 출력된다.

    자동으로 반올림이 적용된다.

    • f는 float라는 뜻임.
      • ex) f'{4:.3f}' => 4.000
      • ex) f'{5.1239:.3f}' => 5.124
    • 퍼센트(%)로 출력
      • ex) f'{0.5123:.3%}' => 51.230%
      • ex) f'{0.1699:.3%}' => 16.990%
    • 정수는 정수로, 정수가 아닌 실수는 정수가 아닌 실수로 출력
      • ex) f'{5.0:g} => 5
      • ex) f'{1.60:g}' => 1.6

    댓글