travel data science
백준 4344번 문제 본문
num=int(input())
for i in range(num):
class_=list(map(int, input().split()))
c=0
for k in class_[1:]:
if k>(sum(class_[1:])/class_[0]):
c+=1
print('%.3f%%'%float((c/class_[0])*100))
문제에서 어려웠던 부분
1. 결과 값이 40.0이 나와도 소수점 세자리까지 출력해야함.
=>round함수는 반올림에 사용하는 함수이므로 40.0은 40.000으로 출력하지 않음
=>포매팅을 통해서 해결해야함. %.3f를 print에 넣어서 사용하면 된다.
print('hello number is %.3f' % (3.141592))
#결과는
#hello number is 3.141
#이 나온다.
2. value error가 일어나는데 왜 그런지 도통 문제를 찾을 수가 없었다.
=>원인은 %였다. print내에 그냥 %(출력용)이 있다면 %를 두 번 써줘야 한다.
print('number is %.3f%%' % (3.141592))
#결과는
#number is 3.141%
#로 나온다.
'Python study' 카테고리의 다른 글
백준 11654번 문제(파이썬 아스키코드) (0) | 2021.10.06 |
---|---|
백준 4673번 문제 (0) | 2021.10.06 |
백준 2577번 문제 (0) | 2021.10.04 |
백준 1110번 문제 (0) | 2021.10.04 |
백준 10951번 문제 (0) | 2021.10.03 |