- 교통 과속 위반 프로그램을 만들어보자.
→ 시속 50km 이하 -> 안전속도 준수!
→ 시속 50km 초과 -> 안전속도 위반 과태료 50,000원 부과 대상!!
speed = int(input('속도 입력 : '))
if speed <= 50:
print('안전속도 준수!!')
if speed > 50:
print('안전속도 위반!! 과태료 50,000원 부과 대상!!')
- 문자 메시지 길이에 따라 문자 요금이 결정되는 프로그램을 만들어보자.
→ 문자 길이 50이하 -> SMS발송(50원 부과)
→ 문자 길이 50초과 -> MMS발송(100원 부과)
msgIn = input('메시지 입력: ')
lenMsg = len(msgIn)
msgPrice = 50
if lenMsg <= 50:
print('SMS 발송!!')
msgPrice = 50
if lenMsg > 50:
print('MMS 발송!!')
msgPrice = 100
print('메시지 길이 : {}'.format(lenMsg))
print('메시지 발송 요금 {}원'.format(msgPrice))
- 국어, 영어, 수학, 과학, 국사 점수를 입력하면 총점을 비롯한 각종 데이터가 출력되는 프로그램을 만들어보자.
→ 과목별 점수를 입력하면 총점, 평균, 편차를 출력한다.
→ 평균은 다음과 같다.
국어:85, 영어: 82, 수학:89, 과학:75, 국사:94
→ 각종 편차 데이터는 막대 그래프로 시각화 한다
korAvg = 85; engAvg = 82; matAvg = 89
sciAvg = 75; hisAvg = 94
totalAvg = korAvg + engAvg + matAvg + sciAvg + hisAvg
avgAvg = int(totalAvg / 5)
korScore = int(input('국어 점수: '))
engScore = int(input('영어 점수: '))
matScore = int(input('수학 점수: '))
sciScore = int(input('과학 점수: '))
hisScore = int(input('국사 점수: '))
totalScore = korScore + engScore + matScore + sciScore + hisScore
avgScore = int(totalScore / 5)
korGap = korScore - korAvg
engGap = engScore - engAvg
matGap = matScore - matAvg
sciGap = sciScore - sciAvg
hisGap = hisScore - hisAvg
totalGap = totalScore - totalAvg
avgGap = avgScore - avgAvg
print('-' * 70)
print('총점: {}({}), 평균: {}({})'.format(totalScore, totalGap, avgScore, avgGap))
print('국어: {}({}), 영어: {}({}), 수학: {}({}), 과학: {}({}), 국사: {}({})'.format(
korScore, korGap, engScore, engGap, matScore, matGap, sciScore, sciGap, hisScore, hisGap))
print('-' * 70)
str = '+' if korGap > 0 else '-'
print('국어 편차:{}({})'.format(str * abs(korGap), korGap)) # -가 나올 경우를 위해 abs(절대값을구함)을 사용한다
str = '+' if engGap > 0 else '-'
print('영어 편차:{}({})'.format(str * abs(engGap), engGap))
str = '+' if matGap > 0 else '-'
print('수학 편차:{}({})'.format(str * abs(matGap), matGap))
str = '+' if sciGap > 0 else '-'
print('과학 편차:{}({})'.format(str * abs(sciGap), sciGap))
str = '+' if hisGap > 0 else '-'
print('국사 편차:{}({})'.format(str * abs(hisGap), hisGap))
str = '+' if totalGap > 0 else '-'
print('총점 편차:{}({})'.format(str * abs(totalGap), totalGap))
str = '+' if avgGap > 0 else '-'
print('평균 편차:{}({})'.format(str * abs(avgGap), avgGap))
print('-' * 70)
- 난수를 이용해서 홀/짝 게임을 만들어보자.
import random # 무작위 난수 모듈
comNum = random.randint(1, 2) # 1과2 사이의 하나의 수 선택
userSelect = int(input('홀/짝 선택: 1.홀수 \t 2.짝수'))
if comNum == 1 and userSelect == 1:
print('빙고!! 홀수!!')
elif comNum == 2 and userSelect == 2:
print('빙고!! 짝수!!')
elif comNum == 1 and userSelect == 2:
print('실패!! 홀수!!')
elif comNum == 2 and userSelect == 1:
print('실패!! 짝수!!')
- 난수를 이용해서 가위, 바위, 보 게임을 만들어보자.
import random
comNumber = random.randint(1, 3)
userNumeber = int(input('가위, 바위, 보 선택: 1.가위 2.바위 3.보'))
if (comNumber == 1 and userNumeber == 2) or \
(comNumber == 2 and userNumeber == 3) or \
(comNumber == 3 and userNumeber == 1):
print('컴퓨터: 패, 유저: 승')
elif comNumber == userNumeber:
print('무승부')
else:
print('컴퓨터: 승, 유저: 패')
print('컴퓨터: {}, 유저: {}'.format(comNumber, userNumeber))
- 아래 요금표를 참고해서 상수도 요금 계산기를 만들어보자.
→ 가정용 - 540원
→ 대중탕용 50이하 820원 // 50초과 300이하 1920원 // 300초과 2400원
→ 공업용 500이하 240원 // 500초과 480원
part = int(input('업종 선택(1.가정용 2.대중탕용 3.공업용) : '))
useWater = int(input('사용량 입력: '))
unitPrice = 0
if part == 1:
unitPrice = 540
elif part == 2:
if useWater <= 50:
unitPrice = 820
elif useWater > 50 and useWater <= 300:
unitPrice = 1920
elif useWater > 300:
unitPrice = 2400
elif part == 3:
if useWater <= 500:
unitPrice = 240
else:
unitPrice = 470
print('=' * 30)
print('상수도 요금표')
print('-' * 30)
print('사용량 : 요금')
userPrice = useWater * unitPrice
print('{} : {}'.format(useWater, format(userPrice, ',')))
print('=' * 30)
- 미세먼지 비상저감조치로 차량 운행제한 프로그램을 다음 내용에 맞게 만들어 보자.
→ 미세먼지 측정 수치가 150이하면 차량 5부제 실시
→ 미세먼지 측정 수치가 150을 초과하면 차량 2부제 실시
→ 차량 2부제를 실시하더라도 영업용차량은 5부제 실시
→ 미세먼지 수치, 차량 종류, 차량 번호를 입력하면 운행 가능 여부 출력
import datetime # 날짜, 시간 정보를 위해
today = datetime.datetime.today()
day = today.day # today에서 날짜만 뽑아옴
limitDust = 150 # 이하면 5부제 초과면 2부제 실시
dustNum = int(input('미세먼지 수치 입력 : '))
carType = int(input('차량 종류 선택 : 1.승용차 \t 2.영업용차'))
carNumber = int(input('차량 번호 입력 : '))
print(day)
print(day % 5)
print('-' * 30)
print(today)
print('-' * 30)
if dustNum > limitDust and carNumber == 1:
if (day % 2) == (carNumber % 2):
print('차량 2부제 적용')
print('차량 2부제로 금일 운행제한 대상 차량입니다.')
else:
print('금일 운행 가능합니다.')
if dustNum > limitDust and carNumber == 2:
if (day % 5) == (carNumber % 5):
print('차량 5부제 적용')
print('차량 5부제로 금일 운행제한 대상 차량입니다.')
else:
print('금일 운행 가능합니다.')
if dustNum <= limitDust:
if (day % 5) == (carNumber % 5):
print('차량 5부제 적용')
print('차량 5부제로 금일 운행제한 대상 차량입니다.')
else:
print('금일 운행 가능합니다.')
print('-' * 30)
오류가 나지 않지만 if문이 읽혀지지 않고있다 수정을 해야할 것 같다.
- PC에서 난수를 발생하면 사용자가 맞추는 게임을 만들어보자.
→ PC가 난수(1~1000)를 발생하면 사용자가 숫자(정수)를 입력한다.
→ 사용자가 난수를 맞추면 게임이 종료된다.
→ 만약, 못 맞추게 되면 난수와 사용자 숫자의 크고 작음을 출력한 후 사용자한테 다시 기회를 준다.
→ 최종적으로 사용자가 시도한 횟수를 출력한다.
import random
pcNum = random.randint(1, 1000)
tryCount = 0
gameFlag = True
while gameFlag:
tryCount += 1 # 최종 시도 횟수를 기록
userNum = int(input('1에서 1000까지의 정수 입력: '))
if pcNum == userNum:
print('빙고!')
gameFlag = False
else:
if pcNum > userNum:
print('난수가 크다!')
else:
print('난수가 작다!')
print('난수 : {}, 시도 횟수 : {}'.format(pcNum, tryCount))
- 실내온도를 입력하면 스마트에어컨 상태가 자동으로 설정되는 프로그램을 만들어보자.
→ 18도 이하 : off
→ 18도 초과 22도 이하 : 매우약
→ 22도 초과 24도 이하 : 약
→ 24도 초과 26도 이하 : 중
→ 26도 초과 28도 이하 : 강
→ 28도 초과 : 매우 강
innerTemp = int(input('실내온도 입력 : '))
if innerTemp <= 18:
print('에어컨 : OFF!!')
elif innerTemp > 18 and innerTemp <= 22:
print('에어컨 : 매우 약!!')
elif innerTemp > 22 and innerTemp <= 24:
print('에어컨 : 약!!')
elif innerTemp > 24 and innerTemp <= 26:
print('에어컨 : 중!!')
elif innerTemp > 26 and innerTemp <= 28:
print('에어컨 : 강!!')
elif innerTemp > 28:
print('에어컨 : 매우 강!!')
이 글은 제로베이스 데이터 취업 스쿨의 강의자료 일부를 발췌하여 작성되었습니다.