WIL

3주차 WIL

dev_junseok 2022. 9. 18. 23:15

어느새 3주차에 접어들었다. 벌써 3주차라니 ㅠㅠ

 

이번주에는 파이썬 문법들의 기초를 다지고 배운것들을 이용해 여러 과제들을 풀어보았다.

 

다음은 클래스를 사용해 사용자들의 프로필을 관리할 수 있는 코드이다.

 

from pprint import pprint

class Profile:
    def __init__(self):
        self.profile = {
            "name": "-",
            "gender": "-",
            "birthday": "-",
            "age": "-",
            "phone": "-",
            "email": "-",
        }
    
    def set_profile(self, profile):
        self.profile = profile
        
    def get_profile(self):
        return self.profile
    
    def get_name(self):
        return self.profile.get('name')
    
    def get_gender(self):
        return self.profile.get('gender')
    
    def get_birthday(self):
        return self.profile.get('birthday')
    
    def get_age(self):
        return self.profile.get('age')
    
    def get_phone(self):
        return self.profile.get('phone')
    
    def get_email(self):
        return self.profile.get('email')
    
    
    
profile = Profile()


profile.set_profile({
    "name": "lee",
    "gender": "man",
    "birthday": "01/01",
    "age": 32,
    "phone": "01012341234",
    "email": "python@sparta.com",
})

information = input("궁금하신 정보를 입력하세요. (ex): 이름, 성별, 생일, 나이, 핸드폰번호, 이메일) ※전체를 보시려면 전체 를 입력해주세요 : ")

if information == "이름":
    print(profile.get_name()) # 이름 출력
elif information == "성별":
    print(profile.get_gender()) # 성별 출력
elif information == "생일":
    print(profile.get_birthday()) # 생일 출력
elif information == "나이":
    print(profile.get_age()) # 나이 출력
elif information == "핸드폰번호":
    print(profile.get_phone()) # 핸드폰번호 출력
elif information == "이메일":
    print(profile.email()) # 이메일 출력
elif information == "전체":
    pprint(profile.get_profile())
else:
    print("잘못 입력하셨습니다.")

 

다음은 성적 계산기이다

  • 91~100 : A
  • 81~90 : B
  • 71~80 : C
  • ~71 : F
def get_grade(score):
    if score >=90: 
        grade = "A" 
    elif score >=80:
        grade = "B"
    elif score >=70:
        grade = "C"
    elif score >=60:
        grade = "D"
    else:
        grade = "F"
    return grade

score = int(input())
grade = get_grade(score)
print(grade)

2. 반복문(while)예제 - 사용자가 숫자를 입력했을 경우 2배를 곱한수 출력, 문자를 입력했을 경우 문자를 출력, 5번 이상 숫자를 입력하거나 exit를 입력하였을 경우 프로그램 종료

 

def int_value(number):
    sum = number * 2
    return sum



count = 0
while True:
    user_input = input("값을 입력하세요:")
    if count == 5:
        break
    elif user_input == "exit":
        print("프로그램을 종료합니다")
        quit()
    elif user_input.isdigit():
        sum = int(user_input) * 2
        print(sum)
        count += 1
    else:
        print(f"입력한 문자값은 {user_input}입니다.")

3. 반복문(for)연습 - 평균성적이 70점 이상인 사용자들의 이름과 나이 출력

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)