본문 바로가기
파이썬/문제 풀이

파이썬 조건문 문제 풀이

by 쵠몽 2024. 9. 26.

문제1

아래와 같은 조건을 만족하는 로그인 프로그램을 만들어보자

  • 아이디를 입력하세요: 아이디 입력
  • 비밀번호를 입력하세요: 비밀번호 입력
  • 결과는 "로그인 되었습니다" 또는 "아이디 또는 비밀번호를 확인하세요"라고 출력
  • 단, 아이디: apple, 비밀번호: 1234인 경우 "로그인 성공!"
더보기
# 내가 작성한 코드
id = input('아이디를 입력하세요')
pw = input('비밀번호를 입력하세요')

if id == 'apple' and pw == '1234':
    print('로그인 성공!')
    print('로그인 되었습니다')
elif id != 'apple':
    print('아이디 또는 비밀번호를 확인하세요')
elif pw != '1234':
    print('아이디 또는 비밀번호를 확인하세요')
else:
    print('아이디 또는 비밀번호를 확인하세요')

 

elif 문을 사용하지 않아도 됨

# 모범 답안
userid = input('아이디를 입력하세요')
userpw = input('비밀번호를 입력하세요')

if userid == 'apple' and userpw == '1234':
    print('로그인 되었습니다')
else:
    print('아이디 또는 비밀번호를 확인하세요')

 

 

 

문제2

주민등록번호를 입력받아 성별을 판별하는 프로그램을 만들어보자

  • 주민등록번호를 입력하세요: 주민등록번호 입력
  • 결과는 "남자" 또는 "여자"라고 출력
  • 단, 성별을 판별하는 숫자가 1, 3, 5, 7, 9는 "남자" 2, 4, 6, 8, 0은 "여자"라고 함
  • 예) 주민등록번호가 다음(0010113068518)과 같다면 7번째 숫자가 성별임
더보기
# 내가 작성한 코드
idNum = input('주민등록번호를 입력하세요')

if idNum[6] == "1" or "3" or "5" or "7" or "9" :
    print('남자')
else:
    print('여자')

논리 연산자를 사용하여 if 조건을 작성할 때 잘 연결하여 작성할 것 

# 모범답안 1
juminNo = input('주민등록번호를 입력하세요') # 0010113068518

if juminNo[6] == '1' or juminNo[6] == '3' or juminNo[6] == '5' or juminNo[6] == '7' or juminNo[6] == '9':
    print('남자')
else:
    print('여자')

 

# 모범답안 2
juminNo = input('주민등록번호를 입력하세요') # 0010113068518

if int(juminNo[6]) % 2 == 1:
    print('남자')
else:
    print('여자')

 

 

 

문제3

  • 국어점수, 영어점수, 수학점수를 입력받아 총점, 평균, 학점을 구하는 프로그램 작성
  • 단, 입력 방식은 국어/영어/수학 형태로 입력(예: 100/70/85)하며 학점은 평균을 기준으로 90점 이상 A, 80점 이상 B, 70점 이상 C, 60점 이상 D, 나머지는 F라고 함
더보기
# 내가 작성한 코드
kor, eng, math = input('국어/영어/수학 점수를 /로 구분하여 입력하세요').split('/')

print(f'총점: {int(kor) + int(eng) + int(math)}')
print(f'평균: {(int(kor) + int(eng) + int(math)) // 3}')

grd = (int(kor) + int(eng) + int(math)) // 3

if int(grd) >= 90:
    print('학점: A')
elif int(grd) >= 80:
    print('학점: B')
elif int(grd) >= 70:
    print('학점: C')
elif int(grd) >= 60:
    print('학점: D')
else:
    print('학점: F')

변수 설정, if문 간단한 로직 잘 고민해 볼 것

# 모범답안
kor, eng, math = input('국어/영어/수학 점수를 /로 구분하여 입력하세요').split('/')
tot = int(kor) + int(eng) + int(math)
avg = tot / 3

hak = 'F'
if avg >= 90:
    hak = 'A'
elif avg >= 80:
    hak = 'B'
elif avg >= 70:
    hak = 'C'
elif avg >= 60:
    hak = 'D'

print(f'총점: {tot}')
print('평균: {:.2f}' .format(avg))
print(f'학점: {hak}')

 

활용 문제 작성하기

예시)

print('성격 유형 테스트에 오신 걸 환영합니다!')

# y/n 입력 시 입력값의 공백 삭제 .strip()
# y/n 입력 시 입력값이 대문자일 경우 소문자로 변경 .lower()
answer1 = input('1. 다른 사람과 함께 있는 것을 좋아하나요? (y/n): ').strip().lower()

# 첫 번째 질문: 내향적, 외향적

#외향적
if answer1 == 'y':
    #두 번째 질문:
    answer2 = input('새로운 사람을 만나는 것이 즐거운가요? (y/n): ').strip().lower()
    if answer2 == 'y':
        answer3 = input('많은 사람과 함께 하는 것을 선호하나요? (y/n): ').strip().lower()
        if answer3 == 'y':
            personality_type = '외향적이고 사교적인 성격입니다'

        else:
            personality_type = '외향적이고 신중한 성격입니다'
    else:
        personality_type = '외향적이고 안정을 추구하는 성격입니다'

#내향적
else:
    answer4 = input('혼자 있는 것이 즐거운가요? (y/n): ').strip().lower()
    if answer4 == 'y':
            personality_type = '내향적이고 우울한 성격입니다'

    else:
            personality_type = '내향적이고 밝은 성격입니다'
print(f'당신의 성격 유형: {personality_type}')
더보기
print('코숏 고양이 무늬 알아내기 테스트에 오신 걸 환영합니다!')

answer1 = input('단색 털을 가지고 있나요? (y/n): ').strip().lower()

if answer1 == 'y' :
    answer2 = input('털의 색상이 흰색인가요? (y/n): ').strip().lower()
    if answer2 == 'n' :
        answer3 = input('털의 색상이 검은색인가요? (y/n): ').strip().lower()
        if answer3 == 'n' :
          answer4 = input('털의 색상이 갈색인가요? (y/n): ').strip().lower()
          if answer4 == 'y' :
                color_type = '고등어태비'
          else:
                color_type = '치즈태비'
        else:
            color_type = '올블랙'
    else:
        color_type = '올화이트'

else:
    answer6 = input('두 가지 색상의 털을 가지고 있나요? (y/n): ').strip().lower()
    if answer6 == 'y' :
       answer7 = input('주황색 털과 검은색 털이 섞여 있나요? (y/n): ').strip().lower()
       if answer7 == 'n' :
             answer8 = input('검은색 털과 흰색 털이 섞여 있나요? (y/n): ').strip().lower()
             if answer8 == 'y' :
              answer9 = input('검은색 털의 비중이 더 많나요? (y/n): ').strip().lower()
              if answer9 == 'y' :
                    color_type = '턱시도'

              else:
                    color_type = '젖소'
             else:
                color_type = '흰색이 섞인 고등어태비 또는 치즈태비'
       else:
            color_type = '카오스'
    else:
        color_type = '삼색이'

print(f'고양이의 무늬는 {color_type} 입니다')



'파이썬 > 문제 풀이' 카테고리의 다른 글

파이썬 반복문 문제 풀이  (0) 2024.09.27