문제
10 이하의 과목수 n이 주어진다.
정수로 주어진 n개 과목의 점수를 입력받아서 실수 평균을 구하여 출력하고
평균이 80점이상이면 "pass", 80점 미만이면 "fail"이라고 출력하는 프로그램을 작성하시오.
평균은 반올림하여 소수 첫째자리까지 출력한다.
입력예
4
75 80 85 90
출력예
avg : 82.5 pass
풀이 1 )
sum = 0
def average():
count = int(input())
if count < 11:
for n in range(count):
global sum
score = int(input())
while score > 100:
score = int(input("100이하로입력해주세요: "))
sum = sum+score
avg = sum/count
print("avg :", round(sum/count,1))
if avg >= 80:
print("pass")
else:
print("fail")
else:
print("1에서 10사이의 정수를 입력해주세요")
average()
풀이 2 )
num = int(input("num: "))
if num < 11:
grades = input("grades: ").split(" ")
parsed = list(map(float, grades))
avg = round(sum(parsed)/num, 1)
print(f"avg : {avg}")
if avg >= 80:
print("pass")
else:
print("fail")
else:
print("Can't have 10 course!")
풀이 3 )
num_class = int(input(''))
grade = []
if num_class <= 10:
grade = list(int(num) for num in input("").strip().split())
grade_sum = round(sum(grade)//num_class, 2)
if grade_sum >= 80:
print('avg :', grade_sum)
print('"pass"')
else:
print('avg :', grade_sum)
print('"fail"')
else:
None
풀이 4 )
def average():
try:
s = 0
n=int(input("과목의 갯수: "))
except:
print("1에서 10사이의 정수를 입력해주세요")
average()
for x in range(1,n+1):
a=float(input("%d번째 과목 점수: "%(x)))
s+=a
print("avg : %.2f "%(round(s/n,1)))
if s/n >= 80:
print("pass")
else:
print("fail")
average()
'배운다 > 파이썬' 카테고리의 다른 글
[파이썬] 별찍기 634 : 반복제어문3 - 자가진단2 (0) | 2020.07.22 |
---|---|
[파이썬] 구구단 548 : 반복제어문2 - 자가진단8 (0) | 2020.07.22 |
[파이썬] 삼각형넓이출력 129 : 반복제어문1 - 형성평가5 (0) | 2020.07.21 |
[파이썬] 나라 수도 출력 633 : 반복제어문1 - 자가진단6 (0) | 2020.07.21 |
[파이썬] 동물 번호 출력 123 : 선택제어문 - 형성평가4 (0) | 2020.07.21 |