[Python] 백신 접종 대상 판별 / 시험 결과 판별 / 난수 게임 / 수도 요금 계산 / 차량 운행 제한제

이소티·2023년 4월 22일

python

목록 보기
5/33

조건문

# 백신 접종 대상자을 구분하기 위한 프로그램

# 19세 이하 또는 65세 이상 이면 출생 연도 끝자리에 따른 접종
# 그렇지 않으면 하반기 일정 확인


user_age = int(input('나이 입력 : '))

if user_age <= 19 or user_age >= 65 :
    if user_age % 5 == 1 :
        print('월요일 접종 가능 !')
    elif user_age % 5 == 2 :
        print('화요일 접종 가능 !')
    elif user_age % 5 == 3 :
        print('수요일 접종 가능 !')
    elif user_age % 5 == 4 :
        print('목요일 접종 가능 !')
    elif user_age % 5 == 0 :
        print('금요일 접종 가능 !')
        
else :
    print('하반기 일정 확인하세요.')   
    




# 위와 유사한 방식

user_age = int(input('나이 입력 : '))
user_endage = int(input('출생 연도 끝자리 입력 : '))

if user_age <= 19 or user_age >= 65 :
    if user_endage == 1 or user_endage == 6 :
        print('월요일 접종 가능 !')
    elif user_endage == 2 or user_endage == 7 :
        print('화요일 접종 가능 !')
    elif user_endage == 3 or user_endage == 8 :
        print('수요일 접종 가능 !')
    elif user_endage == 4 or user_endage == 9 :
        print('목요일 접종 가능 !')
    elif user_endage == 5 or user_endage == 0 :
        print('금요일 접종 가능 !')
else :
    print('하반기 일정 확인하세요.')   

# 국어,영어,수학,과학,국사 점수를 입력하면 총점을 비롯한 각종 데이터가 출력되는 프로그램

# 과목별 점수를 입력하면 총점,평균,편차를 출력
# 국어 평균 : 85, 영어 평균 : 82, 수학 평균 : 89, 과학 평균 : 75, 국사 평균 : 94
# 각종 편차 데이터는 막대 그래프로 시각화한다


avg_kor = 85 ; avg_eng = 82 ; avg_mat = 89 ; avg_sci = 75 ; avg_his = 94

score_kor = int(input('국어 점수 입력 : '))
score_eng = int(input('영어 점수 입력 : '))
score_mat = int(input('수학 점수 입력 : '))
score_sci = int(input('과학 점수 입력 : '))
score_his = int(input('국사 점수 입력 : '))

score_tot = (score_kor + score_eng + score_mat + score_sci + score_his)
score_avg_tot = int(score_tot / 5)


diff_kor = (score_kor - avg_kor) ; diff_mat = (score_mat - avg_mat)
diff_eng = (score_eng - avg_eng) ; diff_sci = (score_sci - avg_sci)
diff_his = (score_his - avg_his)

diff_tot = (diff_kor + diff_eng + diff_mat + diff_sci + diff_his)
diff_avg_tot = int(diff_tot / 5)



print('*'*50)
print('총점 : {}({}), 평균 : {}({})'.format(score_tot,diff_tot,score_avg_tot,diff_avg_tot))
print('국어 : {}({}), 영어 : {}({}), 수학 : {}({}), 과학 : {}({}), 국사 : {}({}), '.format(score_kor,diff_kor,score_eng,diff_eng,score_mat,diff_mat,score_sci,diff_sci,score_his,diff_his))
print('*'*50)


print('국어 편차 : {}({})'.format(('+' if diff_kor >= 0 else '-')*abs(diff_kor),diff_kor))
print('영어 편차 : {}({})'.format(('+' if diff_eng >= 0 else '-')*abs(diff_eng),diff_eng))
print('수학 편차 : {}({})'.format(('+' if diff_mat >= 0 else '-')*abs(diff_mat),diff_mat))
print('과학 편차 : {}({})'.format(('+' if diff_sci >= 0 else '-')*abs(diff_sci),diff_sci))
print('국사 편차 : {}({})'.format(('+' if diff_his >= 0 else '-')*abs(diff_his),diff_his))
print('총점 편차 : {}({})'.format(('+' if diff_tot >= 0 else '-')*abs(diff_tot),diff_tot))
print('평균 편차 : {}({})'.format(('+' if diff_avg_tot >= 0 else '-')*abs(diff_avg_tot),diff_avg_tot))

# 난수를 이용해서 홀/짝 게임 진행


import random

info_num = random.randint(1,2)
user_num = int(input('홀/짝 선택 : 1.홀 \t 2.짝'))

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

# 난수를 이용해서 가위,바위,보 게임 진행


import random

info_num = random.randint(1,3)
user_num = int(input('가위,바위,보 선택 : 1.가위 \t 2.바위 \t 3.보'))

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

print('컴퓨터 : {}, 유저 : {}'.format(info_num,user_num))

# 상수도 요금 계산기
# 업종은 가정용, 대중탕용, 공업용 3가지


user_cate = int(input('업종 선택(1. 가정용 \t 2. 대중탕용 \t 3.공업용) : '))
user_usage = int(input('사용량 입력 : '))

if user_cate == 1 :
    user_price = user_usage * 540
elif user_cate == 2 :
    if user_usage > 300 :
        user_price = user_usage * 2400
    elif user_usage > 50 :
        user_price = user_usage * 1920
    else :
        user_price = user_usage * 820
elif user_cate == 3 :
    if user_usage > 500 :
        user_price = user_usage * 470
    else :
        user_price = user_usage * 240

print('='*50)
print('상수도 요금표')
print('-'*50)

print('사용량 \t : 요금')
print('{} \t : {}원'.format(user_usage,format(user_price,',')))
print('='*50)

# 미세먼지 비상저감조치로 차량 운행제한 프로그램

# 미세먼지 측정 수치가 150 이하면 차량 5부제 실시
# 미세먼지 측정 수치가 150을 초과하면 차량 2부제 실시
# 차량 2부제를 실시하더라도 영업용차량은 5부제 실시
# 미세먼지 수치, 차량 종류, 차량 번호를 입력하면 운행 가능 여부 출력


import datetime

dust_figure = int(input('미세먼지 수치 입력 : '))
user_car_cate = int(input('차량 종류 선택 : \t 1.승용차 \t 2. 영업용차 : '))
user_car_num = int(input('차량 번호 입력 : '))

today = datetime.datetime.today()
day = today.day

print('-'*50)
print(today)
print('-'*50)

if (dust_figure <= 150) or (dust_figure > 150 & user_car_cate == 2) :
    if ((user_car_num % 5 == 1) & (day % 5 == 1)) or ((user_car_num % 5 == 2) & (day % 5 == 2)) or ((user_car_num % 5 == 3) & (day % 5 == 3)) or ((user_car_num % 5 == 4) & (day % 5 == 4)) or ((user_car_num % 5 == 0) & (day % 5 == 0)) :
        print('차량 5부제 적용')
        print('차량 5부제로 금일 운행제한 대상 차량입니다 !')
    else :
        print('금일 운행 가능합니다 !')

else :
    if ((user_car_num % 2 == 1) & (day % 2 == 1)) or ((user_car_num % 2 == 0) & (day % 2 == 0)) :
        print('금일 운행 가능합니다 !')
    else :
        print('차량 2부제 적용')
        print('차량 2부제로 금일 운행제한 대상 차량입니다 !')

print('-'*50)

# PC에서 난수를 발생시키면 사용자가 맞추는 게임 진행

# 난수는 1 ~ 1000 사이 정수
# 사용자가 난수를 맞추면 게임이 종료
# 못 맞추게 되면 난수와 사용자 숫자의 크고 작음을 비교하여 출력한 후 다시 기회를 준다
# 최종적으로 사용자가 시도한 횟수 출력


import random

info_num = random.randint(1,1000)
count = 0
cond = True

while cond == True :

    user_num = int(input('1에서 1000까지의 정수 입력 : '))
    count += 1

    if user_num > info_num :
        print('난수가 작다 !')

    elif user_num < info_num :
        print('난수가 크다 !')

    elif user_num == info_num :
        print('빙고 !')
        cond = False

print('난수 : {}, 시도 횟수 : {}'.format(info_num,count))
profile
데이터 관련 학습 일지

0개의 댓글