lanScore = int(input('국어 점수 입력: '))
engScore = int(input('영어 점수 입력: '))
matScore = int(input('수학 점수 입력: '))
sciScore = int(input('과학 점수 입력: '))
hisScore = int(input('국사 점수 입력: '))
lanAverage = 85
engAverage = 82
matAverage = 89
sciAverage = 75
hisAverage = 94
averageTotal = lanAverage + engAverage + matAverage + sciAverage + hisAverage
totalAverage = int(averageTotal / 5)
totalScore = lanScore + engScore + matScore + sciScore + hisScore
aveScore = int(totalScore / 5)
print('총점: {}({}), 평균: {}({})'
.format(totalScore, (totalScore - averageTotal), aveScore, int((aveScore - totalAverage))))
print('국어: {}({}), 영어: {}({}), 수학: {}({}), 과학: {}({}), 국사: {}({})'
.format(lanScore, lanScore - lanAverage, engScore, engScore - engAverage, matScore, matScore - matAverage,
sciScore, sciScore - sciAverage, hisScore, hisScore - hisAverage))
print('-' * 40)
print('국어 편차: {}({})'.format('+'*abs(lanScore-lanAverage),lanScore-lanAverage))
print('영어 편차: {}({})'.format('+'*abs(engScore-engAverage),engScore-engAverage))
print('수학 편차: {}({})'.format('-'*abs(matScore-matAverage),matScore-matAverage))
print('과학 편차: {}({})'.format('-'*abs(sciScore-sciAverage),sciScore-sciAverage))
print('국사 편차: {}({})'.format('-'*abs(hisScore-hisAverage),hisScore-hisAverage))
print('총점 편차: {}({})'.format('-'*abs(totalScore-averageTotal),totalScore-averageTotal))
print('평균 편차: {}({})'.format('-'*abs(aveScore-totalAverage),aveScore-totalAverage))
print('-' * 40)
# 출력 결과
# 국어 점수 입력: 91
# 영어 점수 입력: 92
# 수학 점수 입력: 61
# 과학 점수 입력: 58
# 국사 점수 입력: 90
# 총점: 392(-33), 평균: 78(-7)
# 국어: 91(6), 영어: 92(10), 수학: 61(-28), 과학: 58(-17), 국사: 90(-4)
# ----------------------------------------
# 국어 편차: ++++++(6)
# 영어 편차: ++++++++++(10)
# 수학 편차: ----------------------------(-28)
# 과학 편차: -----------------(-17)
# 국사 편차: ----(-4)
# 총점 편차: ---------------------------------(-33)
# 평균 편차: -------(-7)
# ----------------------------------------
# 난수를 이용하여 가위, 바위, 보 게임을 만들어보자.
import random
num = random.randint(1, 2)
userNum = int(input('홀/짝 선택: 1.홀 \t 2.짝'))
if userNum == 1 and num == 1:
print('빙고!! 홀수!!')
elif userNum == 2 and num == 1:
print('실패!! 홀수!!')
elif userNum == 1 and num == 2:
print('실패!! 짝수!!')
elif userNum == 2 and num == 2:
print('빙고!! 짝수!!')
# 출력 결과
# 홀/짝 선택: 1.홀 2.짝1
# 실패!! 짝수!!
rpsNum = random.randint(1, 3)
userRpsNum = int(input('가위/바위/보 선택: 1.가위 \t 2.바위 \t 3.보'))
if (userRpsNum == 1 and rpsNum == 1) or (userRpsNum == 2 and rpsNum == 2) or (userRpsNum == 3 and rpsNum == 3):
print('무승부')
elif (userRpsNum == 1 and rpsNum == 2) or (userRpsNum == 2 and rpsNum == 3) or (userRpsNum == 3 and rpsNum == 1):
print('유저 패, 컴푸터 승')
else:
print('유저 승, 컴퓨터 패')
# 출력 결과
# 가위/바위/보 선택: 1.가위 2.바위 3.보2
# 유저 승, 컴퓨터 패
# 아래 요금표를 참고해서 상수도 요금 계산기를 만들어보자.
category = int(input('업종 선택(1. 가정용\t 2. 대중탕용\t 3. 공업용)'))
usage = int(input('사용량 입력: '))
totalFee = 0
if category == 1:
totalFee = 540 * usage
elif category == 2:
if usage<=50:
totalFee = 820 * usage
elif 50<usage and usage<=300:
totalFee = 1920 * usage
elif 300<usage:
totalFee = 2400 * usage
elif category == 3:
if usage <= 500:
totalFee = 240 * usage
elif usage > 500:
totalFee = 470 * usage
print('='*40)
print('상수도 요금표')
print('-'*40)
print('사용량\t\t : \t\t요금')
print('{} \t\t : \t {:,}원'.format(usage, totalFee))
print('='*40)
# 출력 결과
# 업종 선택(1. 가정용 2. 대중탕용 3. 공업용)3
# 사용량 입력: 270
# ========================================
# 상수도 요금표
# ----------------------------------------
# 사용량 : 요금
# 270 : 64,800원
# ========================================
import datetime
# 미세먼지 비상저감조치로 차량 운행제한 프로그램을 다음 내용에 맞게 만들어보자.
# 미세먼지 측정 수치가 150 이하면 차량5부제 실시
# 미세먼지 측정 수치가 150 초과면 차량2부제 실시
# 차량 2부제를 실시하더라도 영업용 차량은 5부제 실시
# 미세먼지 종류, 차량 종류, 차량 번호를 입력하면 운행 가능 여부 출력
dust = int(input('미세먼지 수치 입력: '))
carCategory = int(input('1. 승용차 \t 2. 영업용차'))
carNum = input('차량 번호 입력: ')
carNumRegulated = carNum[-1]
date = datetime.datetime.now()
oddArr = []
evenArr = []
for i in range(1,33, 2):
oddArr.append('{:02d}'.format(i))
for i in range(2, 32, 2):
evenArr.append('{:02d}'.format(i))
print('-' * 40)
print(date.strftime('%Y-%m-%d %H:%M:%S'))
print('-' * 40)
if carCategory == 2:
print('차량 5부제 실시')
if (date.strftime('%d') == '01' or date.strftime('%d') == '06' or date.strftime('%d') == '11' or date.strftime(
'%d') == '16' or date.strftime('%d') == '21' or date.strftime('%d') == '26' or date.strftime(
'%d') == '31') and (carNumRegulated == '1' or carNumRegulated == '6'):
print('금일 운행 가능합니다!!')
elif (date.strftime('%d') == '02' or date.strftime('%d') == '07' or date.strftime('%d') == '12' or date.strftime(
'%d') == '17' or date.strftime('%d') == '22' or date.strftime('%d') == '27') and (
carNumRegulated == '2' or carNumRegulated == '7'):
print('금일 운행 가능합니다!!')
elif (date.strftime('%d') == '03' or date.strftime('%d') == '08' or date.strftime('%d') == '13' or date.strftime(
'%d') == '18' or date.strftime('%d') == '23' or date.strftime('%d') == '28') and (
carNumRegulated == '3' or carNumRegulated == '8'):
print('금일 운행 가능합니다!!')
elif (date.strftime('%d') == '04' or date.strftime('%d') == '09' or date.strftime('%d') == '14' or date.strftime(
'%d') == '19' or date.strftime('%d') == '24' or date.strftime('%d') == '29') and (
carNumRegulated == '4' or carNumRegulated == '9'):
print('금일 운행 가능합니다!!')
elif (date.strftime('%d') == '05' or date.strftime('%d') == '10' or date.strftime(
'%d') == '15' or date.strftime(
'%d') == '20' or date.strftime('%d') == '25' or date.strftime('%d') == '30') and (
carNumRegulated == '5' or carNumRegulated == '0'):
print('금일 운행 가능합니다!!')
else:
print('차량 5부제로 금일 운행제한 대상 차량입니다!!')
elif dust <= 150:
print('차량 5부제 실시')
if (date.strftime('%d') == '01' or date.strftime('%d') == '06' or date.strftime('%d') == '11' or date.strftime(
'%d') == '16' or date.strftime('%d') == '21' or date.strftime('%d') == '26' or date.strftime(
'%d') == '31') and (carNumRegulated == '1' or carNumRegulated == '6'):
print('금일 운행 가능합니다!!')
elif (date.strftime('%d') == '02' or date.strftime('%d') == '07' or date.strftime('%d') == '12' or date.strftime(
'%d') == '17' or date.strftime('%d') == '22' or date.strftime('%d') == '27') and (
carNumRegulated == '2' or carNumRegulated == '7'):
print('금일 운행 가능합니다!!')
elif (date.strftime('%d') == '03' or date.strftime('%d') == '08' or date.strftime('%d') == '13' or date.strftime(
'%d') == '18' or date.strftime('%d') == '23' or date.strftime('%d') == '28') and (
carNumRegulated == '3' or carNumRegulated == '8'):
print('금일 운행 가능합니다!!')
elif (date.strftime('%d') == '04' or date.strftime('%d') == '09' or date.strftime('%d') == '14' or date.strftime(
'%d') == '19' or date.strftime('%d') == '24' or date.strftime('%d') == '29') and (
carNumRegulated == '4' or carNumRegulated == '9'):
print('금일 운행 가능합니다!!')
elif (date.strftime('%d') == '05' or date.strftime('%d') == '10' or date.strftime(
'%d') == '15' or date.strftime(
'%d') == '20' or date.strftime('%d') == '25' or date.strftime('%d') == '30') and (
carNumRegulated == '5' or carNumRegulated == '0'):
print('금일 운행 가능합니다!!')
else:
print('차량 5부제로 금일 운행제한 대상 차량입니다!!')
else:
print('차량 2부제 실시')
if date.strftime('%d') in oddArr:
print('금일 운행 가능합니다!!')
elif date.strftime('%d') in evenArr:
print('금일 운행 가능합니다!!')
else: print('차량 2부제로 금일 운행제한 대상 차량입니다!!')
print('-' * 40)
# 출력 결과
# 미세먼지 수치 입력: 145
# 1. 승용차 2. 영업용차1
# 차량 번호 입력: 5574
# ----------------------------------------
# 2024-02-07 16:31:05
# ----------------------------------------
# 차량 5부제 실시
# 차량 5부제로 금일 운행제한 대상 차량입니다!!
# ----------------------------------------
# 미세먼지 수치 입력: 270
# 1. 승용차 2. 영업용차1
# 차량 번호 입력: 1290
# ----------------------------------------
# 2024-02-07 16:33:42
# ----------------------------------------
# 차량 2부제 실시
# 차량 2부제로 금일 운행제한 대상 차량입니다!!
# ----------------------------------------
# 미세먼지 수치 입력: 170
# 1. 승용차 2. 영업용차1
# 차량 번호 입력: 5595
# ['01', '03', '05', '07', '09', '11', '13', '15', '17', '19', '21', '23', '25', '27', '29', '31']
# ['02', '04', '06', '08', '10', '12', '14', '16', '18', '20', '22', '24', '26', '28', '30']
# ----------------------------------------
# 2024-02-07 16:44:33
# ----------------------------------------
# 차량 2부제 실시
# 금일 운행 가능합니다!!
# ----------------------------------------
import random
ranNum = random.randint(1, 1000)
userNum = int(input('1에서 1000까지의 정수 입력: '))
cnt = 0
while ranNum != userNum:
if ranNum < userNum:
cnt += 1
print('난수가 크다!')
userNum = int(input('1에서 1000까지의 정수 입력:'))
elif ranNum > userNum:
cnt += 1
print('난수가 작다!')
userNum = int(input('1에서 1000까지의 정수 입력:'))
elif ranNum == userNum:
break
print('빙고!')
print('난수: {}, 시도 횟수: {}'.format(ranNum, cnt))
# 출력 결과
# 1에서 1000까지의 정수 입력: 500
# 난수가 크다!
# 1에서 1000까지의 정수 입력:250
# 난수가 크다!
# 1에서 1000까지의 정수 입력:125
# 난수가 크다!
# 1에서 1000까지의 정수 입력:75
# 난수가 크다!
# 1에서 1000까지의 정수 입력:35
# 난수가 크다!
# 1에서 1000까지의 정수 입력:20
# 난수가 크다!
# 1에서 1000까지의 정수 입력:10
# 난수가 크다!
# 1에서 1000까지의 정수 입력:5
# 난수가 크다!
# 1에서 1000까지의 정수 입력:2
# 난수가 크다!
# 1에서 1000까지의 정수 입력:1
# 빙고!
# 난수: 1, 시도 횟수: 9
# 실내온도를 입력하면 스마트에어컨 상태가 자동으로 설정되는 프로그램을 만들어 보자.
currTemperature = int(input('실내온도 입력:'))
status = ''
if currTemperature <= 18:
status = 'OFF'
elif 18 < currTemperature <= 22:
status = '매우 약'
elif 22 < currTemperature <= 24:
status = '약'
elif 24< currTemperature <=26:
status = '중'
elif 26< currTemperature <= 28:
status = '강'
else: status = '매우 강'
print('에어컨: {}!!'.format(status))
# 출력 결과
# 실내온도 입력:19
# 에어컨: 매우 약!!
# 1부터 100까지의 정수 중 십의자리와 일의자리에 대해 각각 홀/짝수를 구분하는 프로그램을 만들어보자.
# divmod() 함수는 두 개의 인수를 받고, 첫 번째 인수를 두 번째 인수로 나누어서 몫과 나머지를 반환함
def isOdd(num):
if num == 0:
return '0'
if num != 0:
if divmod(num, 2)[1] == 0:
return '짝수!!'
elif divmod(num, 2)[1] != 0:
return '홀수!!'
for i in range(1, 101):
if len(str(i)) == 1:
print('[{}]: {}'.format(i, isOdd(i)))
elif len(str(i)) >= 2:
print('[{}] 십의자리: {}, 일의자리: {}'.format(i, i // 10, isOdd(int(str(i)[len(str(i)) - 1]))))
# 출력 결과
# [1]: 홀수!!
# [2]: 짝수!!
# [3]: 홀수!!
# [4]: 짝수!!
# [5]: 홀수!!
# [6]: 짝수!!
# [7]: 홀수!!
# [8]: 짝수!!
# [9]: 홀수!!
# [10] 십의자리: 1, 일의자리: 0
# [11] 십의자리: 1, 일의자리: 홀수!!
# [12] 십의자리: 1, 일의자리: 짝수!!
# [13] 십의자리: 1, 일의자리: 홀수!!
# [14] 십의자리: 1, 일의자리: 짝수!!
# [15] 십의자리: 1, 일의자리: 홀수!!
# [16] 십의자리: 1, 일의자리: 짝수!!
# [17] 십의자리: 1, 일의자리: 홀수!!
# [18] 십의자리: 1, 일의자리: 짝수!!
# [19] 십의자리: 1, 일의자리: 홀수!!
# [20] 십의자리: 2, 일의자리: 0
# [21] 십의자리: 2, 일의자리: 홀수!!
# [22] 십의자리: 2, 일의자리: 짝수!!
# [23] 십의자리: 2, 일의자리: 홀수!!
# [24] 십의자리: 2, 일의자리: 짝수!!
# [25] 십의자리: 2, 일의자리: 홀수!!
# [26] 십의자리: 2, 일의자리: 짝수!!
# [27] 십의자리: 2, 일의자리: 홀수!!
# [28] 십의자리: 2, 일의자리: 짝수!!
# [29] 십의자리: 2, 일의자리: 홀수!!
# [30] 십의자리: 3, 일의자리: 0
# [31] 십의자리: 3, 일의자리: 홀수!!
# [32] 십의자리: 3, 일의자리: 짝수!!
# [33] 십의자리: 3, 일의자리: 홀수!!
# [34] 십의자리: 3, 일의자리: 짝수!!
# [35] 십의자리: 3, 일의자리: 홀수!!
# [36] 십의자리: 3, 일의자리: 짝수!!
# [37] 십의자리: 3, 일의자리: 홀수!!
# [38] 십의자리: 3, 일의자리: 짝수!!
# [39] 십의자리: 3, 일의자리: 홀수!!
# [40] 십의자리: 4, 일의자리: 0
# [41] 십의자리: 4, 일의자리: 홀수!!
# [42] 십의자리: 4, 일의자리: 짝수!!
# [43] 십의자리: 4, 일의자리: 홀수!!
# [44] 십의자리: 4, 일의자리: 짝수!!
# [45] 십의자리: 4, 일의자리: 홀수!!
# [46] 십의자리: 4, 일의자리: 짝수!!
# [47] 십의자리: 4, 일의자리: 홀수!!
# [48] 십의자리: 4, 일의자리: 짝수!!
# [49] 십의자리: 4, 일의자리: 홀수!!
# [50] 십의자리: 5, 일의자리: 0
# [51] 십의자리: 5, 일의자리: 홀수!!
# [52] 십의자리: 5, 일의자리: 짝수!!
# [53] 십의자리: 5, 일의자리: 홀수!!
# [54] 십의자리: 5, 일의자리: 짝수!!
# [55] 십의자리: 5, 일의자리: 홀수!!
# [56] 십의자리: 5, 일의자리: 짝수!!
# [57] 십의자리: 5, 일의자리: 홀수!!
# [58] 십의자리: 5, 일의자리: 짝수!!
# [59] 십의자리: 5, 일의자리: 홀수!!
# [60] 십의자리: 6, 일의자리: 0
# [61] 십의자리: 6, 일의자리: 홀수!!
# [62] 십의자리: 6, 일의자리: 짝수!!
# [63] 십의자리: 6, 일의자리: 홀수!!
# [64] 십의자리: 6, 일의자리: 짝수!!
# [65] 십의자리: 6, 일의자리: 홀수!!
# [66] 십의자리: 6, 일의자리: 짝수!!
# [67] 십의자리: 6, 일의자리: 홀수!!
# [68] 십의자리: 6, 일의자리: 짝수!!
# [69] 십의자리: 6, 일의자리: 홀수!!
# [70] 십의자리: 7, 일의자리: 0
# [71] 십의자리: 7, 일의자리: 홀수!!
# [72] 십의자리: 7, 일의자리: 짝수!!
# [73] 십의자리: 7, 일의자리: 홀수!!
# [74] 십의자리: 7, 일의자리: 짝수!!
# [75] 십의자리: 7, 일의자리: 홀수!!
# [76] 십의자리: 7, 일의자리: 짝수!!
# [77] 십의자리: 7, 일의자리: 홀수!!
# [78] 십의자리: 7, 일의자리: 짝수!!
# [79] 십의자리: 7, 일의자리: 홀수!!
# [80] 십의자리: 8, 일의자리: 0
# [81] 십의자리: 8, 일의자리: 홀수!!
# [82] 십의자리: 8, 일의자리: 짝수!!
# [83] 십의자리: 8, 일의자리: 홀수!!
# [84] 십의자리: 8, 일의자리: 짝수!!
# [85] 십의자리: 8, 일의자리: 홀수!!
# [86] 십의자리: 8, 일의자리: 짝수!!
# [87] 십의자리: 8, 일의자리: 홀수!!
# [88] 십의자리: 8, 일의자리: 짝수!!
# [89] 십의자리: 8, 일의자리: 홀수!!
# [90] 십의자리: 9, 일의자리: 0
# [91] 십의자리: 9, 일의자리: 홀수!!
# [92] 십의자리: 9, 일의자리: 짝수!!
# [93] 십의자리: 9, 일의자리: 홀수!!
# [94] 십의자리: 9, 일의자리: 짝수!!
# [95] 십의자리: 9, 일의자리: 홀수!!
# [96] 십의자리: 9, 일의자리: 짝수!!
# [97] 십의자리: 9, 일의자리: 홀수!!
# [98] 십의자리: 9, 일의자리: 짝수!!
# [99] 십의자리: 9, 일의자리: 홀수!!
# [100] 십의자리: 10, 일의자리: 0
# 1부터 사용자가 입력한 정수까지의 합, 홀수의 합, 짝수의 합 그리고 팩토리얼을 출력하는 프로그램을 만들어보자.
userInt = int(input('정수 입력: '))
temp = 10
totalSum = 0
oddSum = 0
evenSum = 0
factSum = 1
for i in range(1, userInt + 1):
totalSum += i
for i in range(1, userInt + 1, 2):
oddSum += i
for i in range(0, userInt + 1, 2):
evenSum += i
for i in range(1, userInt + 1):
factSum *= i
print('합 결과 : {}\n홀수 합 결과 : {}\n짝수 합 결과 : {}\n팩토리얼 결과 : {:,}'.format(totalSum, oddSum, evenSum, factSum))
# 출력 결과
# 정수 입력: 9
# 합 결과 : 45
# 홀수 합 결과 : 25
# 짝수 합 결과 : 20
# 팩토리얼 결과 : 362,880
# '*'를 이용해서 다음과 같이 다양한 모양을 출력해보자.
starCnt = 0
blankCnt = 0
# 1번 그림
print('1번 그림')
starCnt = 5
for i in range(starCnt + 1):
print('*' * i)
print('=' * 30)
# 2번 그림
print('2번 그림')
blankCnt = 5
for i in range(blankCnt):
if blankCnt > 1:
print(' ' * (blankCnt - 2), '*' * (i + 1))
blankCnt -= 1
elif blankCnt == 1:
print('*' * (i + 1))
blankCnt -= 1
print('=' * 30)
# 3번 그림
print('3번 그림')
starCnt = 5
for i in range(starCnt):
print('*' * starCnt)
starCnt -= 1
print('=' * 30)
# 4번 그림
print('4번 그림')
starCnt = 5
for i in range(starCnt):
print('*' * (i))
for i in range(starCnt):
print('*' * starCnt)
starCnt -= 1
print('=' * 30)
# 5번 그림
print('5번 그림')
for i in range(5):
starArr = [' '] * 5
starArr[i] = '*'
result = "".join(starArr)
print(result)
print('=' * 30)
# 6번 그림
print('6번 그림')
starCnt = 5
for i in range(starCnt):
starArr = [' '] * starCnt
starArr[starCnt - 1] = '*'
result = "".join(starArr)
starCnt -= 1
print(result)
print('=' * 30)
# 7번 그림
print('7번 그림')
blankCnt = 5
for i in range(blankCnt):
print(' ' * (blankCnt - 1), end='')
print('*' * (2*i + 1), end='')
print(' ' * (blankCnt - 1))
blankCnt -= 1
blankCnt = 5
for i in range(blankCnt):
print(' ' * (i), end='')
print('*' * (2*blankCnt - 1), end='')
print(' ' * (i))
blankCnt -= 1
# 출력 결과
# 1번 그림
#
# *
# **
# ***
# ****
# *****
# ==============================
# 2번 그림
# *
# **
# ***
# ****
# *****
# ==============================
# 3번 그림
# *****
# ****
# ***
# **
# *
# ==============================
# 4번 그림
#
# *
# **
# ***
# ****
# *****
# ****
# ***
# **
# *
# ==============================
# 5번 그림
# *
# *
# *
# *
# *
# ==============================
# 6번 그림
# *
# *
# *
# *
# *
# ==============================
# 7번 그림
# *
# ***
# *****
# *******
# *********
# *********
# *******
# *****
# ***
# *
# 집 앞 버스 정류장에서 학교까지 가는 버스 A, B, C의 운행정보가 다음과 같을 때,
# 2대 이상의 버스가 정차하는 시간대를 출력해보자.
# 버스 A, B 운행 정보
# - 오전 6시 첫차 : 오후 23시 운행 종료
# - 버스A: 15분 간격 운행
# - 버스B: 13분 간격 운행
#
# 버스 C 운행 정보
# - 6시 20분 첫차: 오후 22시 운행 종료
# -버스C: 8분 간격 운행
busA = 360
busB = 360
busC = 380
busAArr = []
busBArr = []
busCArr = []
k = 0
j = 0
l = 0
while busA < 1380:
busAArr.append(busA)
busA += (15)
while busB < 1380:
busBArr.append(busB)
busB += (13)
while busC < 1320:
busCArr.append(busC)
busC += (8)
tempArr = []
# print(busAArr)
# print(busBArr)
# print(busCArr)
for i in range(len(busAArr)):
for elem in busBArr:
if busAArr[i] == elem:
timeVal = busAArr[i]
message = 'busA와 busB 동시 정차!!\t {}:{}'.format(busAArr[i] // 60, busAArr[i] % 60)
tempDic = {'timeVal': timeVal, 'message': message}
tempArr.append(tempDic)
for i in range(len(busBArr)):
for elem in busCArr:
if busBArr[i] == elem:
timeVal = busBArr[i]
message = 'busB와 busC 동시 정차!!\t {}:{}'.format(busBArr[i] // 60, busBArr[i] % 60)
tempDic = {'timeVal': timeVal, 'message': message}
tempArr.append(tempDic)
for i in range(len(busCArr)):
for elem in busAArr:
for elem2 in busBArr:
if busCArr[i] == elem and elem == elem2:
timeVal = busCArr[i]
message = 'busA와 busB, busC 동시 정차!!\t {}:{}'.format(busCArr[i] // 60, busCArr[i] % 60)
tempDic = {'timeVal': timeVal, 'message': message}
tempArr.append(tempDic)
else:
if busCArr[i] == elem:
timeVal = busCArr[i]
message = 'busC와 busA 동시 정차!!\t {}:{}'.format(busCArr[i] // 60, busCArr[i] % 60)
tempDic = {'timeVal': timeVal, 'message': message}
tempArr.append(tempDic)
sorted_tempArr = sorted(tempArr, key=lambda x: x['timeVal'])
unique_sorted_tempArr = []
seen = set()
for d in sorted_tempArr:
t = tuple(d.items())
if t not in seen:
unique_sorted_tempArr.append(d)
seen.add(t)
for item in unique_sorted_tempArr:
print(item['message'])
# 출력 결과
# busA와 busB 동시 정차!! 6:0
# busB와 busC 동시 정차!! 6:52
# busC와 busA 동시 정차!! 7:0
# busB와 busC 동시 정차!! 8:36
# busC와 busA 동시 정차!! 9:0
# busA와 busB 동시 정차!! 9:15
# busB와 busC 동시 정차!! 10:20
# busC와 busA 동시 정차!! 11:0
# busB와 busC 동시 정차!! 12:4
# busA와 busB 동시 정차!! 12:30
# busC와 busA 동시 정차!! 13:0
# busB와 busC 동시 정차!! 13:48
# busC와 busA 동시 정차!! 15:0
# busB와 busC 동시 정차!! 15:32
# busA와 busB 동시 정차!! 15:45
# busC와 busA 동시 정차!! 17:0
# busB와 busC 동시 정차!! 17:16
# busA와 busB 동시 정차!! 19:0
# busB와 busC 동시 정차!! 19:0
# busC와 busA 동시 정차!! 19:0
# busA와 busB, busC 동시 정차!! 19:0
# busB와 busC 동시 정차!! 20:44
# busC와 busA 동시 정차!! 21:0
# busA와 busB 동시 정차!! 22:15
# 톱니가 각각 n1개와 n2개의 톱니바퀴가 서로 맞물려 회전할 때, 회전을 시작한 후 처음 맞물린 톱니가 최초로 다시 만나게 될 때까지의
# 톱니의 수와 각각의 바퀴 회전 수를 출력해보자.
# 단, n2는 n1보다 크다.
gear1 = int(input('GearA 톱니수 입력: '))
gear2 = int(input('GearB 톱니수 입력: '))
gear1Arr = []
gear2Arr = []
stop = True
i = 1
while stop:
print('gearA: {}, gearB: {}'.format(gear1 * i, gear2 * i))
gear1Arr.append(gear1 * i)
gear2Arr.append(gear2 * i)
for item in gear1Arr:
for item2 in gear2Arr:
if item2 == item:
print('최초 만나는 톱니수(최소공배수): {}톱니\ngearA 회전수: {}회전\ngearB 회전수: {}회전'.format(item, gear1Arr.index(item) + 1,
gear2Arr.index(item2) + 1))
stop = False
i += 1
# 출력 결과
# GearA 톱니수 입력: 7
# GearB 톱니수 입력: 12
# gearA: 7, gearB: 12
# gearA: 14, gearB: 24
# gearA: 21, gearB: 36
# gearA: 28, gearB: 48
# gearA: 35, gearB: 60
# gearA: 42, gearB: 72
# gearA: 49, gearB: 84
# gearA: 56, gearB: 96
# gearA: 63, gearB: 108
# gearA: 70, gearB: 120
# gearA: 77, gearB: 132
# gearA: 84, gearB: 144
# 최초 만나는 톱니수(최소공배수): 84톱니
# gearA 회전수: 12
# gearB 회전수: 7
# 윤년 계산기를 만들어보자.
# 윤년 조건
# - 연도가 4로 나누어떨어지고 100으로 나누어떨어지지 않으면 윤년이다.
# 또는 연도가 400으로 나누어떨어지면 윤년이다.
year = int(input('연도 입력: '))
isLeapYear = ''
if (year % 4 == 0 and year % 100 != 0 ) or (year % 400 == 0):
isLeapYear = '윤년!!'
else: isLeapYear = '평년'
print('{}년: {}'.format(year, isLeapYear))
# 출력 결과
# 연도 입력: 2024
# 2024년: 윤년
# 연도 입력: 2021
# 2021년: 평년