제로베이스 데이터 취업 스쿨 - 6일차(6/7)(조건문)

수야·2023년 6월 7일
0

논리연산자


and 연산자는 무조건 TURE여야함..! false & False는 또 안봐줌
and, or, not에 들어간게 결과 값을 좌우함. 앞에거는 상관이없음 그냥 변수일 뿐

실습


#국어, 영어, 수학 점수를 입력하고 평균이 70점 이상이면 True를 출력하는 코드를 작성해 보자.
#(단, 과목별 점수가 최소 60이상인 경우에 True를 출력한다.)
kor=int(input('국어 점수 :'))
eng=int(input('영어 점수 :'))
math=int(input('수학 점수 :'))
aver=(kor+eng+math)/3
averCheck=aver >= 70
korCheck= kor >=60
mathCheck= math >=60
engCheck= eng >=60
passCheck = korCheck == True and mathCheck == True and engCheck== True
finalCheck = passCheck == True and averCheck == True
print(f'평균 : {aver}, 결과 : {averCheck}'
      f'\n국어 : {kor}, 결과 : {korCheck}'
      f'\n영어 : {eng}, 결과 : {engCheck}'
      f'\n수학 : {math}, 결과 : {mathCheck}'
      f'\n과락 결과 : {passCheck}'
      f'\n최종 결과 : {finalCheck}'
      )

operator모듈


실습


[연습문제] 조건문(01)

speed=int(input('속도 입력 : '))
safeSpeed=50
if speed <= safeSpeed :
    print('안전 속도 준수!!')
else:print('안전 속도 위반!! 과태로 50,000원 부과 대상!!!')

msg=input('메시지 입력:')
msgLen=int(len(msg))
if msgLen <= 50:
    print('SMS 발송!!'
          f'\n메시지 길이 : {msgLen}'
          f'\n메시지 발송 요금: 50원')
else:print('MMS 발송!!'
           f'\n메시지 길이 : {msgLen}'
           f'\n메시지 발송 요금 : 100원')

[연습문제] 조건문(02)

kor=int(input('국어 점수 입력 :'))
eng=int(input('영어 점수 입력 :'))
math=int(input('수학 점수 입력 :'))
sci=int(input('과학 점수 입력 :'))
his=int(input('국사 점수 입력 :'))

userTotalScore=int(kor+eng+math+sci+his)
userAverScore=int(userTotalScore/5)

korAver=85
engAver=82
mathAver=89
sciAver=75
hisAver=94
totalAver=int(korAver+engAver+mathAver+sciAver+hisAver)
totalAverAver=int(totalAver/5)

difTotal=userTotalScore-totalAver
difAver=userAverScore=totalAverAver
difKor=kor-korAver
difEng=eng-engAver
difMath=math-mathAver
difSci=sci-sciAver
difHis=his-hisAver

print('-'*50,
      f'총점: {userTotalScore}({difTotal}), 평균: {userAverScore}({difAver})'
      f'\n국어 : {kor}({difKor}), 영어 : {eng}({difEng}), 수학 : {math}({difMath}), 과학 : {sci}({difSci}), 국사 : {his}({difHis})'
      f'\n','-'*50)
form = '+' if difKor >0 else '-'
print('국어 편차: {}({})'.format((form*abs(difKor)),difKor))
form = '+' if difEng >0 else '-'
print('영어 편차: {}({})'.format((form*abs(difEng)),difEng))
form = '+' if difMath >0 else '-'
print('수학 편차: {}({})'.format((form*abs(difMath)),difMath))
form = '+' if difSci >0 else '-'
print('과학 편차: {}({})'.format((form*abs(difSci)),difSci))
form = '+' if difHis >0 else '-'
print('국사 편차: {}({})'.format((form*abs(difHis)),difHis))
form = '+' if difTotal >0 else '-'
print('총점 편차: {}({})'.format((form*abs(difTotal)),difTotal))
form = '+' if difAver >0 else '-'
print('평균 편차: {}({})'.format((form*abs(difAver)),difAver),
      '\n','-'*50)

사실 평균편차 틀렸는데 지금 넘나리 빡쳐서 수정 불가

조건식

실습


조건식(if문)


실습


양자택일 조건문(if~else문)

pass 키워드

실습

다자택일 조건문(if~elif문)

실습


print('1.카페라떼(3.5)\t2.에스프레소(3.0)\t3.아메리카노(2.0)\t4.곡물라떼(4.0)\t5.밀크티(4.3)')
select=int(input('메뉴 선택 :'))
print('-'*30)
if select == 1:
    print('메뉴 : 카페라떼'
          '\n가격 : 3,500원'
          '\n','-'*30)
elif select == 2:
    print('메뉴 : 에스프레소'
          '\n가격 : 3,000원'
          '\n','-'*30)
elif select == 3:
    print('메뉴 : 아메리카노'
          '\n가격 : 2,000원'
          '\n','-'*30)
elif select == 4:
    print('메뉴 : 곡물라떼'
          '\n가격 : 4,000원'
          '\n','-'*30)
elif select == 5:
    print('메뉴 : 밀크티'
          '\n가격 : 4,300원'
          '\n','-'*30)

다자택일 조건문 사용 시 주의할 점


실습

중첩 조건문

실습

[연습문제] 조건문(03)

import  random

ranNum=random.randint(1,2)
selectNum=int(input('홀/짝 선택: 1.홀 2.짝'))

if selectNum == 1 and ranNum ==1 :
    print('빙고!! 홀수!!')
elif selectNum == 1 and ranNum == 2:
    print('실패 !! 홀수!!')
elif selectNum == 2 and ranNum ==1 :
    print('실패!! 짝수!!')
elif selectNum == 2 and ranNum == 2:
    print('빙고 !! 짝수!!')

import  random

ranNum=random.randint(1,3)
selectNum=int(input('가위, 바위, 보 선택: 1.가위 2.바위 3.보'))

if (selectNum == 1 and ranNum ==3)or \
        (selectNum == 2 and ranNum ==1) or \
         (selectNum == 3 and ranNum == 2):
    print('컴퓨터 : 패, 유저 : 승')
elif selectNum == ranNum :
    print('무승부')
else:print('컴퓨터 : 승, 유저 : 패')

print(f'컴퓨터 : {ranNum}, 유저 :{selectNum}')

[연습문제] 조건문(04)

useFor=int(input('업종 선택(1. 가정용 2. 대중탕용 3. 공업용):'))
useAmount=int(input('사용량 입력 :'))
if useFor == 1 :
    payAmount = useAmount *540
elif useFor == 2:
    if useAmount <=50:
        payAmount = useAmount *820
    if useAmount >50 and useAmount <= 300:
        payAmount = useAmount *1920
elif useFor == 3:
    if useAmount <=500:
        payAmount = useAmount *240
    if useAmount >500 :
        payAmount = useAmount *470
print('='*30,
      '\n상수도 요금표'
      '\n','-'*30,'\n'
      '사용량\t:\t요금\n'
      '{}\t:\t{}'.format(useAmount, format(payAmount, ',')),
      '\n','='*30)
profile
수야는 코린이에서 더 나아갈거야

2개의 댓글

comment-user-thumbnail
2023년 6월 8일

2023-06-08
복습완료 되게 많이 풀었었네..

답글 달기
comment-user-thumbnail
2023년 6월 10일

2023-06-10
복습완료
성적 편차 따라서 그래프 뽑아낼때
form = '+' if difKor > 0 else '-' 이걸 생각해내지 못하고...

답글 달기