[파이썬 원격 강의 과제]220915 #5 조건문, 반복문
2022. 9. 21. 11:17ㆍ스파르타코딩클럽[AI트랙 3기]/파이썬 과제

>내코드
def get_grade(score):
if score >90 :
print("A")
elif score >80 :
print("B")
elif score >70 :
print("C")
else:
print("F")
score=int(input())
grade = get_grade(score)
print(grade) #A~F
▶성적에따른 등급은 제대로 나오는데 밑에 None이 나온다. 이유가 뭘까...
>정답코드
def get_grade(score):
if score > 90:
return 'A'
elif score > 80:
return 'B'
elif score > 70:
return 'C'
else:
return 'F'
score = int(input())
grade = get_grade(score)
print(grade) # A ~ F
▶내 코드와 차이점은 return으로 받아줬다는것!! 이유가 무엇이냐!

>내가짠 코드
n=input()
while n < "5" or n == "exit":
if n == int():
print(n*2)
else :
print(f"입력한 문자는 {n}입니다.")
▶무한 루프 ;;;;
>정답 코드
num_count = 0 # 숫자 입력 횟수
while num_count < 5: # 숫자 입력 5회까지만 반복
user = input()
if user == 'exit':
quit()
elif user.isdigit() == True: # 문자열이 숫자로만 이루어졌다면
num_count += 1 # 숫자 입력 횟수 추가
print(int(user) * 2)
else:
print(f"입력한 문자는 {user}입니다.")
▶isdigit()함수 사용. user.isdigit() == True: 하면 문자열이 숫자로만 이루어졌다는 뜻이고, 그럴경우 num_count가 1올라감. 그리고 숫자 곱한 것 추가 함.


>내가짠 코드
def get_filter_user(users):
list(filter(lambda x:(x[5]+x[7]+x[9]+x[11]))/4>=70,users)
return filter_users
filter_users = get_filter_user(users)
pprint(filter_users)
>정답 코드
from pprint import pprint
users = [
{"name": "Ronald", "age": 30, "math_score": 93, "science_score": 65, "english_score": 93, "social_score": 92},
{"name": "Amelia", "age": 24, "math_score": 88, "science_score": 52, "english_score": 78, "social_score": 91},
{"name": "Nathaniel", "age": 28, "math_score": 48, "science_score": 40, "english_score": 49, "social_score": 91},
{"name": "Sally", "age": 29, "math_score": 100, "science_score": 69, "english_score": 67, "social_score": 82},
{"name": "Alexander", "age": 30, "math_score": 69, "science_score": 52, "english_score": 98, "social_score": 44},
{"name": "Madge", "age": 22, "math_score": 52, "science_score": 63, "english_score": 54, "social_score": 47},
{"name": "Trevor", "age": 23, "math_score": 89, "science_score": 88, "english_score": 69, "social_score": 93},
{"name": "Andre", "age": 23, "math_score": 50, "science_score": 56, "english_score": 99, "social_score": 54},
{"name": "Rodney", "age": 16, "math_score": 66, "science_score": 55, "english_score": 58, "social_score": 43},
{"name": "Raymond", "age": 26, "math_score": 49, "science_score": 55, "english_score": 95, "social_score": 82},
{"name": "Scott", "age": 15, "math_score": 85, "science_score": 92, "english_score": 56, "social_score": 85},
{"name": "Jeanette", "age": 28, "math_score": 48, "science_score": 65, "english_score": 77, "social_score": 94},
{"name": "Sallie", "age": 25, "math_score": 42, "science_score": 72, "english_score": 95, "social_score": 44},
{"name": "Richard", "age": 21, "math_score": 71, "science_score": 95, "english_score": 61, "social_score": 59},
{"name": "Callie", "age": 15, "math_score": 98, "science_score": 50, "english_score": 100, "social_score": 74},
]
def get_filter_user(users):
filter_users = []
for user in users:
average = (user["math_score"] + user["science_score"] + user["english_score"] + user["social_score"])/4
if average >= 70: # 평균이 70점 이상이라면
result = {}
result["age"] = user["age"] # 빈 딕셔너리(result)에 새로운 key : value 값 추가 (나이, 이름)
result["name"] = user["name"]
filter_users.append(result) # 최종 리턴할 변수에 값 추가
return filter_users
filter_users = get_filter_user(users)
pprint(filter_users)'스파르타코딩클럽[AI트랙 3기] > 파이썬 과제' 카테고리의 다른 글
| [파이썬 원격 강의 과제]220914 #4 파이썬 심화 문법 사용해보기 (0) | 2022.09.21 |
|---|---|
| [파이썬 원격 강의 과제]220913 #3 클래스 활용해보기 (0) | 2022.09.21 |
| [파이썬 원격 강의 과제]220907 #2 숫자 야구 만들기 (1) | 2022.09.21 |
| [파이썬 원격 강의 과제] 220906 #1 계산기 만들어보기 (0) | 2022.09.18 |