Tue. 12. 6.
파이썬 기초 연습
ㄴ len(), find()



import datetime
today = datetime.datetime.today()
age = input('나이 입력: ')
if age.isdigit():
birthYear = today.year - int(age)
year100 = birthYear + 100
leftYear = 100 - int(age)
year = '{}년({}년후)에 100살!!'.format(year100, leftYear)
ㄴ 주의할 점: isdigit()은 숫자 판별해주지만, 입력한 값은 str이므로 int casting 해주어야 함.
price = int(input('product price: '))
payment = int(input('your payment: '))
if payment > price:
change = ((payment - price) // 10) * 10
print('change: {}(won cut)'.format(change))
money1 = 50000; money2 = 10000; money3 = 5000; money4 = 1000
money5 = 500; money6 = 100; money7= 50; money8 = 10
money50000 = 0; money10000 = 0; money5000 = 0; money1000 = 0;
money500 = 0; money100 = 0; money50 = 0; money10 = 0
if change >= money1:
money50000 = change // money1
change %= money1
...(중략)...
if change >= money8:
money10 = change // money8
change %= money8
print('-' * 30)
print(f'50000 cnt: {money50000}')
print(f'10000 cnt: {money10000}')
print(f'5000 cnt: {money5000}')
print(f'1000 cnt: {money1000}')
print(f'500 cnt: {money500}')
print(f'100 cnt: {money100}')
print(f'50 cnt: {money50}')
print(f'10 cnt: {money10}')
print('-' * 30)
ㄴ 주의! : 코드 줄바꿈 안 할 때 쉼표(,) 대신 세미콜론(;)

money = int(input('금액 입력: '))
rate = float(input('이율 입력: '))
period = int(input('기간 입력: '))
targetMoney = money
for i in range(period):
targetMoney *= ((rate / 100) + 1)
targetMoney = int(targetMoney)
print('-'*30)
print('이율: {}%'.format(rate))
print('원금: {}원'.format(format(money, ',')))
print('{}년 후 금액: {}원'.format(period, format(targetMoney, ',')))
print('-'*30)
ㄴtargetMoney를 두 번 쓰는 걸 피하고자 강의 내용과는 다르게 targetMoney *= ((rate / 100) + 1)로 계산했다. 이게 더 보기 예쁜 거 같아서.
age = int(input('나이 입력: '))
import datetime
today = datetime.datetime.today()
birthYear = today.year - age
myNum = birthYear % 10
if age <= 19 or age >= 65:
print('출생 연도 끝자리: {}'.format(myNum))
if myNum == 1:
print('월요일 접종 가능!!')
...(중략)...
elif myNum == 0:
print('금요일 접종 가능!!')
else: print('하반기 일정 확인하세요.')
ㄴ문제에서는 출생 연도 끝자리를 직접 입력하는 거지만, 나이만 입력하면 알아서 계산 되도록 해봤다. (elif 문제)

ㄴ abs()
part = int(input('업종 선택: 1. 가정용 2. 대중탕용 3. 공업용 '))
userWater = int(input('사용량 입력: '))
unitPrice = 0
if part ==1:
unitPrice = 540
pass
...(후략)...
ㄴif문 전에 미리 필요한 변수 초기화해 둘 것


ㄴ count += 1을 어디에 넣을지 고민됐었는데 else 뒤에 놨었음. 작동은 정상으로 되지만 맨 앞에 넣는 게 보기 편한 것 같다.

ㄴ 은근 까다로웠던 점: result10, result1라는 변수를 추가하는 것을 처음에 생각해내지 못해서 시간이 소요됨.
ㄴ result1 = '0'으로 놓으면 간결해짐.

ㄴ 문제 풀이를 강의 해설보다 깔끔하게 해서 기분이 좋군:)


ㄴ 분을 기준으로 반복문을 설정하는 아이디어 & 몫과 나머지로 시간, 분을 설정


ㄴ 원리는 같지만 이번 건은 강의 해설이 gearA와 gearB를 나눠서 볼 수 있어서 좀 더 가독성 있는 듯하다.
이 글은 제로 베이스 데이터 취업 스쿨 강의 자료 일부를 발췌하거나 참고하여 작성되었습니다.