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)