weight = input('체중 입력(g):')
height = input('신장 입력(cm):')
if weight.isdigit():
weight = int(weight) / 10
if height.isdigit():
height = int(height) / 100
print('체중:{}kg'.format(weight))
print('신장:{}m'.format(height))
bmi = weight / (height * height)
print('BMI: %.2f' % bmi)
#실행결과
신장 입력(cm):187
체중:85.5kg
신장:1.87m
BMI: 24.45
isdigit함수를 이용해 input함수에 숫자를 입력하는가 문자를 입력하는가에 따라 조건식을 진행 시킬 수 있음(하지만 판별만 할 뿐 별도로 숫자로 변환 시켜야 함)
num1=10
num2=20
print('num1:{},num2:{}'.format(num1,num2))
num1 = 20
num2 = 10
print('num1:{},num2:{}'.format(num1,num2))
#실행결과
num1:10,num2:20
num1:20,num2:10
midScore = input('중간 고사 점수 입력 : ')
finScore = input('기말 고사 점수 입력 : ')
if midScore.isdigit() and finScore.isdigit():
midScore = int(midScore)
finScore = int(finScore)
totalScore = midScore + finScore
avgScore = totalScore / 2
print('총점 : {}, 평균 : {}'.format(totalScore, avgScore))
else:
print('다시 입력 하시오')
#중간 고사 점수 입력 : 85
#기말 고사 점수 입력 : 95
#총점 : 180, 평균 : 90.0
chooseLan = int(input('언어 선택(Choose your language) : 1.한국어 2.English'))
if chooseLan == 1:
print('1. 샌드위치 2.햄버거 3.쥬스 4.커피 5.아이스크림')
if chooseLan == 2:
print('1.Sandwich 2.Hamburger 3.Juice 4.Coffee 5.IceCream')
myAge = int(input('나이를 입력하세요 : '))
thisYear = 2023
whatYear = int(thisYear + (100-myAge))
print('100살이 되는 해 : {}'.format(whatYear))
datetime 모듈(날짜 시간 정보를 알려줌)을 이용할 수도 있음
import datetime
today = datetime.datetime.today()
myAge = input('나이 입력: ')
if myAge.isdigit():
afterage = 100 - int(myAge)
myHundred = today.year + afterage
print('{}년({}년 후)에 100살'.format(myHundred, afterage))
else:
print('다시 입력하시오')
price = int(input('상품의 가격 : '))
myMoney = int(input('지불 금액 : '))
change = myMoney - price
print('거스름 돈 : {}'.format(change))
print('-'*30)
if change >= 50000:
print('50000원 갯수 : {}'.format(change // 50000))
change = change % 50000
if 50000 > change >= 10000:
print('10000원 갯수 : {}'.format(change // 10000))
change = change % 10000
if 5000 <= change < 10000:
print('5000원 갯수 : {}'.format(change // 5000))
change = change % 5000
if 1000 <= change < 5000:
print('1000원 갯수 : {}'.format(change // 1000))
change = change % 1000
if 500 <= change < 1000:
print('500원 갯수 : {}'.format(change // 500))
change = change % 500
if 100 <= change < 500:
print('100원 갯수 : {}'.format(change // 100))
change = change % 100
if 50 <= change < 100:
print('100원 갯수 : {}'.format(change// 50))
change = change % 50
money50000 = 50000;money10000 = 10000;money5000 =5000;money1000=1000;money500=500;money100=100;money10=10
goods = int(input('상품 가격 입력:'))
money = int(input('지불 금액:'))
if money > goods:
changes = money - goods
changes = (changes // 10 ) * 10
print('거스름돈:{}'.format(changes))
print('-'*30 )
if changes > 50000:
changesCnt = changes // money50000
print('50,000 {}장'.format(changesCnt))
changes = changes % money50000
if changes > 10000:
changesCnt = changes // money10000
print('10,000 {}장'.format(changesCnt))
changes = changes % money10000
if changes > 5000:
changesCnt = changes // money5000
print('5,000 {}장'.format(changesCnt))
changes = changes % money5000
if changes > 1000:
changesCnt = changes // money1000
print('1,000 {}장'.format(changesCnt))
changes = changes % money1000
if changes > 500:
changesCnt = changes // money500
print('500 {}개'.format(changesCnt))
changes = changes % money500
if changes > 100:
changesCnt = changes // money100
print('100 {}개'.format(changesCnt))
changes = changes % money100
if changes > 10:
changesCnt = changes // money10
print('10 {}개'.format(changesCnt))
korScore = int(input('국어 점수 입력 : '))
engScore = int(input('영어 점수 입력 : '))
mathScore = int(input('수학 점수 입력 : '))
totalScore = korScore + engScore + mathScore
avgScore = totalScore / 3
print('총점 : {}'.format(totalScore))
print('평균 : %.2f' %avgScore)
print('-'*30)
if korScore > engScore and korScore > mathScore:
print('최고 점수 과목(점수) : 국어({})'.format(korScore))
maxScore = korScore
if engScore > korScore and engScore > mathScore:
print('최고 점수 과목(점수) : 영어({})'.format(engScore))
maxScore = engScore
if mathScore > korScore and mathScore > engScore:
print('최고 점수 과목(점수) : 수학({})'.format(mathScore))
maxScore = mathScore
if korScore < engScore and korScore < mathScore:
print('최저 점수 과목(점수) : 국어({})'.format(korScore))
minScore = korScore
if engScore < korScore and engScore < mathScore:
print('최저 점수 과목(점수) : 영어({})'.format(engScore))
minScore = engScore
if mathScore < korScore and mathScore < engScore:
print('최저 점수 과목(점수) : 수학({})'.format(mathScore))
minScore = mathScore
print('최고, 최저 점수 차이: {}'.format(maxScore - minScore))
print('-'*30)
#출력값
국어 점수 입력 : 85
영어 점수 입력 : 95
수학 점수 입력 : 100
총점 : 280
평균 : 93.33
------------------------------
최고 점수 과목(점수) : 수학(100)
최저 점수 과목(점수) : 국어(85)
최고, 최저 점수 차이: 15
------------------------------
kor = '국어'; eng = '영어'; mat = '수학'
korScore = int(input('국어 점수 입력:'))
engScore = int(input('영어 점수 입력:'))
matScore = int(input('수학 점수 입력:'))
sum = korScore + engScore + matScore
print('총점:{}'.format(korScore+engScore+matScore))
avg = sum / 3
print('평균:{:.2f}'.format(avg))
print('-'*30)
maxScore = korScore
maxSubject = kor
if engScore > maxScore:
maxScore = engScore
maxSubject = eng
if matScore > maxScore:
maxScore = matScore
maxSubject = mat
print('최고 점수 과목:{}({})'.format(maxScore,maxSubject))
minScore = korScore
minSubject = kor
if engScore < minScore:
minScore = engScore
minSubject = eng
if matScore < minScore:
minScore = matScore
minSubject = mat
print('최저 점수 과목:{}({})'.format(minScore,minSubject))
print('최고 최저 점수 차이:{}'.format(maxScore-minScore))
#실행결과
국어 점수 입력:80
영어 점수 입력:90
수학 점수 입력:100
총점:270
평균:90.00
------------------------------
최고 점수 과목:100(수학)
최저 점수 과목:80(국어)
최고 최저 점수 차이:20
inputMoney = int(input('금액 입력 : '))
inputEir = float(input('이율 입력 : '))
inputDay = int(input('기간 입력 : '))
print('-'*30)
goalMoney = inputMoney
for i in range(inputDay):
goalMoney = goalMoney + (inputMoney * inputEir * 0.01)
goalMoneyFormated = format(int(goalMoney), ',')
print('-'*30)
print('이율 : {}%'.format(inputEir))
print('원금 : {}원'.format(format(inputMoney, ',')))
print('{}년 후 금액 : {}원'.format(inputDay, goalMoneyFormated))
print('-'*30)
#출력값
금액 입력 : 1500000
이율 입력 : 4.3
기간 입력 : 4
------------------------------
------------------------------
이율 : 4.3%
원금 : 1,500,000원
4년 후 금액 : 1,758,000원
------------------------------
groundTemp = 29
stepTemp = 0.8
step = 60
altitude = float(input('고도 입력 : '))
summitTemp = groundTemp - (stepTemp * (altitude / step))
print('지면 온도 : {}'.format(groundTemp))
print('고도 {} M의 온도 : {}'.format(altitude, summitTemp))
#출력값
고도 입력 : 720
지면 온도 : 29
고도 720.0 M의 온도 : 19.4
inputAge = int(input('나이 입력 : '))
if 19 <= inputAge <= 65:
birthY = int(input('출생 연도 끝자리 입력 : '))
if birthY == 0 or birthY == 5:
print('금요일 접종 가능!')
if birthY == 1 or birthY == 6:
print('월요일 접종 가능!')
if birthY == 2 or birthY == 7:
print('화요일 접종 가능!')
if birthY == 3 or birthY == 8:
print('수요일 접종 가능!')
if birthY == 4 or birthY == 9:
print('목요일 접종 가능!')
else:
print('하반기 일정 확인하세요.')
#실행값
나이 입력 : 23
출생 연도 끝자리 입력 : 1
월요일 접종 가능!
inputMes = input('메시지 입력 : ')
lenMes = len(inputMes)
tax50 = 50
tax100 = 100
if lenMes <= 50:
print('SMS 발송!!')
print('메시지 길이 : {}'.format(lenMes))
print('메시지 발송 요금 : {}원'.format(tax50))
if lenMes >= 50:
print('MMS 발송!!')
print('메시지 길이 : {}'.format(lenMes))
print('메시지 발송 요금 : {}원'.format(tax100))
#출력값
메시지 입력 : 안녕하세요
SMS 발송!!
메시지 길이 : 5
메시지 발송 요금 : 50원
kor = int(input('국어점수:'))
eng = int(input('영어점수:'))
mat = int(input('수학점수:'))
sci = int(input('과학점수:'))
his = int(input('국사점수:'))
total = kor+eng+mat+sci+his
avg = int(total / 5)
print('-'*50)
korAvg = 85;engAvg = 82;matAvg = 89;sciAvg = 75;hisAvg = 94
totalAvg = korAvg+engAvg+matAvg+sciAvg+hisAvg
avgAvg = int(totalAvg/5)
korDevi = kor-korAvg; engDevi = eng-engAvg; matDevi = mat-matAvg
sciDevi = sci-sciAvg; hisDevi = his-hisAvg
totalDevi = total - totalAvg ; avgDevi = avg - avgAvg
print('총점: {}({}), 평균:{}({})'.format(total, totalDevi, avg, avgDevi))
print('국어: {}({}), 영어: {}({}), 수학: {}({}), 과학: {}({}), 국사: {}({})'.format(
kor, korDevi, eng, engDevi, mat, matDevi, sci, sciDevi, his, hisDevi
))
print('-'*50)
term = '+' if korDevi > 0 else '-'
print('국어 편차:{}({})'.format(term * abs(korDevi),korDevi))
term = '+' if engDevi > 0 else '-'
print('영어 편차:{}({})'.format(term * abs(engDevi),engDevi))
term = '+' if matDevi > 0 else '-'
print('수학 편차:{}({})'.format(term * abs(matDevi),matDevi))
term = '+' if sciDevi > 0 else '-'
print('과학 편차:{}({})'.format(term * abs(sciDevi),sciDevi))
term = '+' if hisDevi > 0 else '-'
print('국사 편차:{}({})'.format(term * abs(hisDevi),hisDevi))
term = '+' if totalDevi > 0 else '-'
print('총점 편차:{}({})'.format(term * abs(totalDevi),totalDevi))
term = '+' if avgDevi > 0 else '-'
print('평균 편차:{}({})'.format(term * abs(avgDevi),avgDevi))
print('-'*50)
#출력값
국어점수: 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
ranNum = random.randint(1,2)
selectNum = int(input('홀 or 짝 선택: 1.홀 \t 2.짝 '))
if ranNum == 1 and selectNum == 1:
print('빙고!! 홀수!!')
elif ranNum == 2 and selectNum == 2:
print('빙고!! 짝수!!')
elif ranNum == 1 and selectNum == 2:
print('실패!! 홀수!!')
elif ranNum == 2 and selectNum == 1:
print('실패!! 짝수!!')
#출력값
홀 or 짝 선택: 1.홀 2.짝 1
실패!! 짝수!!
randint(A,B)는 A부터B까지 수중 랜덤으로 출력하는 함수다.
if ~ if문의 경우 항상 두 if문의 조건을 모두 체크하는 반면,
if ~ elif 문의 경우 앞의 if문이 만족되면 뒤의 elif 문 조건은 체크하지 않는다.
import datetime
today = datetime.datetime.today()
day = today.day
dustNum = int(input('미세먼지 수치 입력 : '))
carChoose = int(input('차량 종류 선택: 1.승용차 2.영업용차 '))
carNum = int(input('차량 번호 입력: '))
limitDust = 150
print('-'*30)
print(today)
print('-'*30)
if dustNum > limitDust and carChoose == 1:
if (day % 2) == (carNum % 2):
print('차량 2부제 적용')
print('차량 2부제로 금일 운행제한 대상 차량입니다.')
else:
print('금일 운행 가능합니다.')
if dustNum > limitDust and carChoose == 2:
if (day % 5) == (carNum % 5):
print('차량 5부제 적용')
print('차량 5부제로 금일 운행제한 대상 차량입니다.')
else:
print('금일 운행 가능합니다.')
if dustNum <= limitDust:
if (day % 5) == (carNum % 5):
print('차량 5부제 적용')
print('차량 5부제로 금일 운행제한 대상 차량입니다.')
else:
print('금일 운행 가능합니다.')
print('-'*30)
#출력값
미세먼지 수치 입력 : 145
차량 종류 선택: 1.승용차 2.영업용차 1
차량 번호 입력: 5526
------------------------------
2023-09-02 22:31:25.479899
------------------------------
금일 운행 가능합니다.
------------------------------
• PC가 난수(1~1000)를 발생하면 사용자가 숫자(정수)를 입력한다.
• 사용자가 난수를 맞추면 게임이 종료된다.
• 만약, 못 맞추게 되면 난수와 사용자 숫자의 크고 작음을 출력한 후
사용자한테 다시 기회를 준다.
• 최종적으로 사용자가 시도한 횟수를 출력한다.
import random
ranNum = random.randint(1,1000)
tryCount = 0
gameFlag = True
while gameFlag:
tryCount += 1
inputNum = int(input('1에서 1000까지의 정수 입력: '))
if ranNum == inputNum:
print('빙고!!')
gameFlag = False
else:
if ranNum > inputNum:
print('난수가 크다!')
else:
print('난수가 작다!')
print('난수: {}, 시도 횟수 : {}'.format(ranNum, tryCount))
#출력값
1에서 1000까지의 정수 입력: 500
난수가 크다!
1에서 1000까지의 정수 입력: 700
난수가 크다!
1에서 1000까지의 정수 입력: 800
난수가 작다!
1에서 1000까지의 정수 입력: 750
난수가 크다!
1에서 1000까지의 정수 입력: 760
난수가 크다!
1에서 1000까지의 정수 입력: 770
난수가 작다!
1에서 1000까지의 정수 입력: 765
난수가 작다!
1에서 1000까지의 정수 입력: 763
난수가 크다!
1에서 1000까지의 정수 입력: 764
빙고!!
난수: 764, 시도 횟수 : 9
tempNum = int(input('실내 온도 입력: '))
if tempNum <= 18:
print('off!!')
elif tempNum >18 and tempNum <=22:
print('매우 약!!')
elif tempNum >22 and tempNum <=24:
print('약!!')
elif tempNum >24 and tempNum <=26:
print('중!!')
elif tempNum >26 and tempNum <=28:
print('강!!')
elif tempNum > 28:
print('매우 강!!')
#출력값
실내 온도 입력: 28
강!!
for i in range(1, 101):
if i <=9:
if i % 2 == 0:
print('[{}]: 짝수!'.format(i))
else:
print('[{}]: 홀수!'.format(i))
else:
num10 = i // 10 #10의 자리
num1 = i % 10 #1의 자리
result10 = ''
if num10 % 2 == 0:
result10 = '짝수'
else:
result10 = '홀수'
result1 = '0'
if num1 != 0:
if num1 % 2 == 0:
result1 = '짝수'
else:
result1 = '홀수'
print('[{}]십의자리: {}, 일의자리:{}'.format(i, result10, result1))
반복해서 써야 하는 것들을 미리 변수설정 할 수 있게 하자
(result10 = '' 과 result1 = '0' 은 미리 편의상 해놓은건가?)
변수선언보다는 재사용을 위한 초기화에 중점을 둬야한다. 재사용 할 인스턴스가 아니라면 안해도 된다!
inputNum = int(input('정수 입력: '))
sumNum = 0
for i in range(1, (inputNum + 1)):
sumNum += i
print('합 결과: {}'.format(sumNum))
sumOdd = 0
for i in range(1, (inputNum + 1)):
if i % 2 != 0:
sumOdd += i
print('홀수 합 결과: {}'.format(sumOdd))
sumEven = 0
for i in range(1, (inputNum + 1)):
if i % 2 == 0:
sumEven += i
print('짝수 합 결과: {}'.format(sumEven))
factorial = 0
for i in range(1, (inputNum + 1)):
if i % 2 != 0:
factorial *= i
print('팩토리얼 결과: {}'.format(factorial))
input부분을 정수화 하는데 왜 오류가 뜨는지 궁금..
1.
for i in range(1,6):
for j in range(i):
print('*', end='') #end=''은 계행(띄어쓰기)하지 마라는 뜻
print() #계행하라는 뜻
for i in range(1,6):
for j in range(6 - i - 1):
print(' ', end='')
for k in range(i):
print('*', end='')
print()
for i in range(5, 0, -1):
for j in range(i):
print('*', end='')
print()
for i in range(5, 0, -1):
for j in range(5 - i):
print(' ', end='')
for j in range(i):
print('*', end='')
print()
for i in range(1, 10):
if i < 5:
for j in range(i):
print('*', end='')
else:
for j in range(10 - i):
print('*', end='')
print()
for i in range(1, 6):
for j in range(1, 6):
if j == i:
print('*', end='')
else:
print(' ', end='')
print()
busA = 15
busB = 13
busC = 8
totalMin = 60 * 17 #6시부터 23시까지 총 17시간 운행
for i in range(totalMin + 1):
if i < 20 or i > (totalMin - 60): #A와 B만 운행하는경우
if i % busA == 0 and i % busB == 0:
print('버스A 와 버스B 동시 정차!!', end='')
hour = 6 + i // 60
min = i % 60
print('\t{}:{}'.format(hour, min))
else:
if i % busA == 0 and i % busB == 0:
print('버스A 와 버스B 동시 정차!!', end='')
hour = 6 + i // 60
min = i % 60
print('\t{}:{}'.format(hour, min))
elif i % busA == 0 and i % busC == 0:
print('버스A 와 버스C 동시 정차!!', end='')
hour = 6 + i // 60
min = i % 60
print('\t{}:{}'.format(hour, min))
elif i % busB == 0 and i % busC == 0:
print('버스B 와 버스C 동시 정차!!', end='')
hour = 6 + i // 60
min = i % 60
print('\t{}:{}'.format(hour, min))
너무 어려운 문제였다... 멘탈 나갔음
gearATCnt = int(input('GearA 톱니수 입력: '))
gearBTCnt = int(input('GearB 톱니수 입력: '))
gearA = 0
gearB = 0
leastNum = 0
flag = True
while flag:
if gearA != 0:
if gearA != leastNum:
gearA += gearATCnt
else:
flag = False
else:
gearA += gearATCnt
if gearB != 0 and gearB % gearATCnt == 0:
leastNum = gearB
else:
gearB += gearBTCnt
print('최초 만나는 톱니수(최소공배수): {}톱니'.format(leastNum))
print('gearA 회전수: {}톱니'.format(leastNum/gearATCnt))
print('gearB 회전수: {}톱니'.format(leastNum/gearBTCnt))
#출력값
GearA 톱니수 입력: 7
GearB 톱니수 입력: 12
최초 만나는 톱니수(최소공배수): 84톱니
gearA 회전수: 12.0톱니
gearB 회전수: 7.0톱니
윤년 조건
year = int(input('연도 입력: '))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print('{}년: 윤년!!'.format(year))
else:
print('{}년: 평년!!'.format(year))
#출력값
연도 입력: 2024
2024년: 윤년!!