작성
·
191
0
아래와 같은 오류가 나는 이유가 뭘까요?
학생 이름을 넣어서 특정 점수를 넘는 학생에게 합격 그렇지 못한 학생에게 불합격 글자가 뜨게 하고 싶습니다.
range가 초과하는 이유도 모르겠고
70점을 넘는 학생도 있는데 모든 학생이 불합격으로 뜨는 이유도 궁금합니다.
답변 1
2
혹시나 해서 어디가 문제인가 하고 type에 문제인지 score 변수 쪽이 잘 못되었는지 등을 print문을 추가하여 확인해봤습니다.
위 이미지를 보시면 왜 불합격으로만 나오는지 이해하실 거라 생각합니다!
----------------------------------------------------------------
그리고 학생 이름을 넣어서 특정 점수를 넘는 학생에게 합불판정을 하고 싶다고 하셨는데
아래 예시처럼 이해하면 되는 건가요?
66 - LEE
43 - KIM
59 - BAE
99 - KO
69 - MOON
78 - JEON
92 - PARK
60 - YOON
만약 위 예시처럼이라고 하면 아래 코드로 수정하시면 원하는 값으로 출력됩니다 :)
for num, score in enumerate(marks):
if score >= 70:
print("{} 학생은 합격입니다. 축하합니다." .format(name[num]))
else:
print("{} 학생은 불합격입니다." .format(name[num]))
결과는 아래와 같습니다.
코드를 살짝 수정하면 아래 이미지처럼 이렇게까지 할 수 있습니다.
혹시 몰라서 위 이미지에 대한 코드를 첨부합니다!
marks = [66, 43, 59, 99, 69, 78, 92, 60]
name = ['LEE', 'KIM', 'BAE', 'KO', 'MOON', 'JEON', 'PARK', 'YOON']
for num, score in enumerate(marks):
if score >= 70:
print("{}번째 {} 학생은 {}점으로\n합격입니다. 축하합니다." .format((num+1), name[num], score), "\n")
else:
print("{}번째 {} 학생은 {}점으로\n불합격입니다." .format((num+1), name[num], score), "\n")
----------------------------------------------------------------
도움이 되었으면 우측하단 또는 좌측하단에 하트 한번만 눌러주세요 :)
또한, 해결이 안된 경우 답글 작성 부탁드립니다!