오늘은 파이썬 조건문, 반복문을 사용한 과제를 했다.
겉보기엔 문제가 쉬워보였지만 막상 요구한 조건을 갖춰 코드를 짜려니 어떻게, 어떤 구문으로
문제를 풀어야 할지 막막했다.
그래도 요구한 조건을 나누어 하나씩 기능을 구현하고 마지막에 코드를 합치니까 문제를 풀 수 있었다.
조건문
💡 요구조건 : 사용자의 시험 점수를 입력받아 등급을 출력하는 코드를 만들어주세요
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)
조건문은 정말 간단하게 input 값을 받아 인자로 넣어주고, 그 값을 if, elif, else를 사용해서 결과를 출력할 수 있었다.
반복문(while)
💡 요구조건 :
✔️ 사용자의 입력을 받아 반복하는 프로그램을 만들어주세요
✔️ 사용자가 숫자를 입력했을 경우 입력값에 2배를 곱한 수를 출력해주세요
✔️ 사용자가 문자를 입력했을 경우 “입력한 문자는 {} 입니다.” 라는 문구를 출력해주세요
✔️ {} 자리에는 사용자가 입력한 문자가 들어가야 합니다.
✔️ 사용자가 exit을 입력하거나 숫자가 5회 이상 입력됐을 경우 프로그램을 종료시켜주세요
count = 0
while count < 5:
user_input = input()
if user_input == 'exit':
break
if user_input.isdigit():
print(int(eval(user_input))*2)
count += 1
elif user_input.isalpha():
print(f'입력한 문자는 {user_input} 입니다.')
우선 count를 담을 변수를 선언하고 초기값은 0으로 설정했다. 그리고 숫자가 5회 이상 입력될 경우 프로그램을 종료하는 조건으로 count가 5보다 작을 때만 while문을 실행하게 설정한다.
그리고 input 값을 받아 if문으로 값이 exit이면 break로 반복문을 멈춘다
exit이 아니라면 사용자가 입력한 인풋의 type을 체크해야 하므로 .isdigit()과 .isalpha()를 통해 값의 type을 검사하고 입력값이 문자이면 fstring으로 출력할 문자와 입력 값을 같이 출력해주고, 입력값이 숫자라면 int()를 사용하여 정수로 변환시킨 후 2를 곱한 값으로 출력하고 count를 1 높여준다.
📚 새로 알게된 것
📌 .isdigit()
문자열이 '숫자'로만 이루어졌는지 확인하는 함수이다. 문자가 있다면 False, 숫자만 있다면 True를 반환한다.
📌 .isalpha()
문자열이 모두 알파벳으로만 이루어져 있는지 확인하는 함수이다.
문자열 모두 알파벳으로 이루어져 있다면 True, 그렇지 않으면 False를 반환한다.