Python 문풀 01. 연산자

yoong·2023년 4월 10일

1. Python

목록 보기
8/21

Python 기초 7.

01.문제풀이

1. datatime 모듈

import datetime

today = datetime.datetime.today()
print(today)

2. len()

: 문자 길이를 반환하는 함수

userInput = str(input('데이터 입력: '))
print('입력한 데이터 길이: {}'.format(len(userInput)))

3. find()

특정 문자열의 위치를 찾아 반환하는 함수

4. isdigit()

: 숫자 인지 확인하는 함수(숫자이면 True, 아니면 False)

import datetime

today = datetime.datetime.today()

userAge =input('나이 입력: ')

if userAge.isdigit():

    afterAge = 100 - int(userAge)
    myHundred = today.year + afterAge

    print('{}년 {}년후에 100살 '.format(myHundred,afterAge))

else:
    print('잘 못 입력하셨습니다.')

(참고)

#변수 뒤바꾸기 

num1 = 10
num2 = 20
print('num1: {}, num2: {}'.format(num1,num2))

tempNum = num1
num1 = num2
num2 = tempNum
print('num1: {}, num2: {}'.format(num1,num2))

5. 다양한 연산자 사용 프로그램

1) 몫과 나머지 활용.

#상품 가격 지불 금액을 입력하면 거스름 돈을 계산하는 프로그램을 만들어보자. 단, 거스름 돈 지폐와 동전의 개수를 최소로 하고, 1원 단위 절사한다.
money50000 = 50000; money10000 = 10000; money5000 = 5000; money1000 = 1000
money500 = 500; money100 = 100; money10 = 10;

money50000Cnt = 0; money10000Cnt = 0; money5000Cnt = 0; money1000Cnt = 0
money500Cnt = 0; money100Cnt = 0; money10Cnt = 0;

productPrice = int(input('상품 가격 입력: '))
payPrice = int(input('지불 금액: '))



if payPrice > productPrice:
    changeMoney = payPrice - productPrice
    changeMoney = (changeMoney // 10) * 10
    print('거스름 돈: {}(원단위 절사)'.format(changeMoney))

if changeMoney > money50000:
    money50000Cnt = changeMoney // money50000
    changeMoney %= money50000

if changeMoney > money10000:
    money10000Cnt = changeMoney // money10000
    changeMoney %= money10000

if changeMoney > money5000:
    money5000Cnt = changeMoney // money5000
    changeMoney %= money5000

if changeMoney > money1000:
    money1000Cnt = changeMoney // money1000
    changeMoney %= money1000

if changeMoney > money500:
    money500Cnt = changeMoney // money500
    changeMoney %= money500

if changeMoney > money100:
    money100Cnt = changeMoney // money100
    changeMoney %= money100

if changeMoney > money10:
    money10Cnt = changeMoney // money10
    changeMoney %= money10

print('-'*30)
print('50,000: {}장'.format(money50000Cnt))
print('10,000: {}장'.format(money10000Cnt))
print('5,000: {}장'.format(money5000Cnt))
print('1,000: {}장'.format(money1000Cnt))
print('500: {}개'.format(money500Cnt))
print('100: {}개'.format(money100Cnt))
print('10: {}개'.format(money10Cnt))
print('-'*30)

2) format (천단위 콤마 삽입하기)

hour = int(input('시: '))
min = int(input('분: '))
sec = int(input('초: '))

print('{}초'.format(format(hour * 60 * 60 + min * 60 + sec,',')))

(참고)

print(format(11111111111, ',d'))          # 1. 11,111,111,111 (정수)
print(format(11111111111, ',f'))          # 2. 11,111,111,111.000000(실수)

# print(format(11111111111.2345, ',d'))  # 3. Error 발생
print(format(11111111111.2345, ',f'))    # 4. 11,111,111,111.2345

print(format(11111111111, ','))           # 5. 11,111,111,111
print(format(11111111111.2345, ','))     # 6. 11,111,111,111.2345

3) 복리 계산

#금리,이율,거치기간 복리 계산기

money = int(input('금액입력: '))
rate = float(input('이율 입력: '))
period = int(input('기간(년): '))

targetMoney = money

for i in range(period):
    targetMoney += targetMoney * rate * 0.01

targetMoneyFormated = format(int(targetMoney),',')

print('-'*40)
print('이율: {}%'.format(rate))
print('원금: {}원'.format(format(money,',')))
print('{}년 후 금액: {}원'.format(period,targetMoneyFormated))
print('-'*40)


Reference

  • 이글은 제로베이스 데이터 취업 스쿨의 강의자료 일부를 발췌하여 작성되었음.
  • format (천단위 콤마 삽입하기) 참고글
    : https://cosmosproject.tistory.com/373
profile
데이터와 이미지로 세상을 공부하는 중입니다 :)

0개의 댓글