Ssa!

파이썬 문법 응용 과제 본문

언어/python

파이썬 문법 응용 과제

Ssa! 2022. 9. 15. 21:19

1. 조건문

요구조건

  • 사용자의 시험 점수를 입력받아 등급을 출력하는 코드를 만들어주세요
    • 등급표
      • 91~100 : A
      • 81~90 : B
      • 71~80 : C
      • ~71 : F
def get_grade(score):
    # some code

score = int(input())
grade = get_grade(score)
print(grade) # A ~ F
def get_grade(score):
    if 90 < score < 101:
        return "A"
    elif 80 < score < 91:
        return "B"
    elif 70 < score < 81:
        return "C"
    elif score <= 70:
        return "F"
        
score = int(input())
grade = get_grade(score)
print(grade)

2. 반복문(while)

요구조건

  • 사용자의 입력을 받아 반복하는 프로그램을 만들어주세요
  • 사용자가 숫자를 입력했을 경우 입력값에 2배를 곱한 수를 출력해주세요
  • 사용자가 문자를 입력했을 경우 “입력한 문자는 {} 입니다.” 라는 문구를 출력해주세요
    • {} 자리에는 사용자가 입력한 문자가 들어가야 합니다.
  • 사용자가 exit을 입력하거나 숫자가 5회 이상 입력됐을 경우 프로그램을 종료시켜주세요
cnt = 1
while True:
    n = input()
    try:
        if n == "exit": break
        elif cnt >= 5:
            n = int(n)
            n *= 2
            print(n)
            break
        
        n = int(n)
        n *= 2
        cnt +=1
        print(n)
        
    except ValueError:
        print(f"입력한 문자는 {n} 입니다.")

3. 반복문(for)

요구조건

  • 입출력 예제에 있는 사람들 중, 평균 성적이 70점 이상인 사용자의 이름과 나이를 출력해주세요
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):
    # some code
    return filter_users

filter_users = get_filter_user(users)
pprint(filter_users)
"""
[{'age': 30, 'name': 'Ronald'},
 {'age': 24, 'name': 'Amelia'},
 {'age': 29, 'name': 'Sally'},
 {'age': 23, 'name': 'Trevor'},
 {'age': 26, 'name': 'Raymond'},
 {'age': 15, 'name': 'Scott'},
 {'age': 28, 'name': 'Jeanette'},
 {'age': 21, 'name': 'Richard'},
 {'age': 15, 'name': 'Callie'}]
"""
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},]
user_list = []
def get_filter_user(users):
    for i in range(len(users)):
        a = list(users[i].values())[2:6]
        avg = sum(a) /4
        if avg >= 70:
            u_name = users[i]['name']
            u_age = users[i]['age']
            user_list.append({'name':u_name, 'age':u_age})

    return user_list

filter_users = get_filter_user(users)
pprint(filter_users)
"""
[{'age': 30, 'name': 'Ronald'},
 {'age': 24, 'name': 'Amelia'},
 {'age': 29, 'name': 'Sally'},
 {'age': 23, 'name': 'Trevor'},
 {'age': 26, 'name': 'Raymond'},
 {'age': 15, 'name': 'Scott'},
 {'age': 28, 'name': 'Jeanette'},
 {'age': 21, 'name': 'Richard'},
 {'age': 15, 'name': 'Callie'}]
"""

1번과 2번은 쉬웠지만 3번에서 해당하는 딕셔너리에 평균이상을 구하는 것 까지는 했다. 리스트에 딕셔너리를  첨부하는 방법을 구글링을 30분이나 했는데 전혀 몰라서 튜터님에게 물어봤다. list.append()내부에 딕셔너리를 넣을 수 있다는 것 !!!! 정말 생각도 못했다 나는 매일 알고리즘 문제를 풀면서 변수만 넣었는데 저런식으로도 할 수 있다는 것이 놀랬다. 진짜....메소드를 사용할 때 문서를 읽어보라는 것이 이런 말인가 싶기도 하고 저 append사용법을 몰라서 1시간 가까이 헤맸다는게 쪽팔린다...그래도 해결했으니 다행이라고 생각한다!

https://docs.python.org/3/tutorial/datastructures.html

 

5. Data Structures — Python 3.10.7 documentation

5. Data Structures This chapter describes some things you’ve learned about already in more detail, and adds some new things as well. 5.1. More on Lists The list data type has some more methods. Here are all of the methods of list objects: list.append(x)

docs.python.org

 

'언어 > python' 카테고리의 다른 글

파이썬 심화 문법 과제 (튜터님)  (0) 2022.09.15
파이썬 실강 6일차!  (0) 2022.09.15
파이썬 심화 문법 과제  (0) 2022.09.14
파이썬 실강 5일차!  (0) 2022.09.14
파이썬 클래스 과제  (0) 2022.09.14