1.
슈퍼마켓에서는 사과를 파운드당 $2.50에 판매한다.
입력 값으로 파운드와 현금을 받은 후에 해당 거래에 의한 거스름돈을 계산하여 표시하는 프로그램을 작성하라.
만약 현금이 부족하면 "당신을 $x.xx를 더 지불해야합니다."를 출력해야한다.
2.
저축 계정은 이자율과 복리 기간을 명시한다.
만약 예치 금액 P, 명시된 이자율 r, 연중 m회 복리로 적립된다고 할 때, 1년 후 계정의 잔금은 아래와 같다.
다른 복합 기간에 대한 이자율은 직접 비교 할 수 없다.
APY의 개념은 이러한 비교를수행하는데 사용된다.
매년 m번 복리로 설정된 이자율 r에 대한 APY는 다음과 같다.
은행에서 제공하는 이자율을 비교하는 프로그램을 작성하고, 가장 바람직한 이자율을 결정하라
Enter annual rate of interest of bank 1: 2.7
Enter number of compounding periods for bank 1: 2
Enter annual rate of interest of bank 2: 2.69
Enter number of compounding periods for bank 2: 52
APY for bank 1 is 2.718%
APY for bank 1 is 2.726%
bank 2 is better bank
r1 = float(input("Enter annual rate of interest for Bank 1: "))
m1 = float(input("Enter number of compounding periods for Bank 1: "))
r2 = float(input("Enter annual rate of interest for Bank 2: "))
m2 = float(input("Enter number of compounding periods for Bank 2: "))
ipp1 = r1 / (100 * m1) # interest rate per period
ipp2 = r2 / (100 * m2)
apy1 = ((1 + ipp1) ** m1) - 1
apy2 = ((1 + ipp2) ** m2) - 1
print("APY for Bank 1 is {0:,.3%}".format(apy1))
print("APY for Bank 2 is {0:,.3%}".format(apy2))
if (apy1 == apy2):
print("Bank 1 and Bank 2 are equally good.")
else:
if (apy1 > apy2):
betterBank = 1
else:
betterBank = 2
print("Bank", betterBank, "is the better bank.")
3.
2014년 중국 인구는 13억 7,000만 명이었고, 매년 0.51%씩 증가하고 있다.
2014년 인도의 인구는 12억 6,000만 명이었고, 매년 1.35%씩 증가하고 있다.
인도의 인구가 중국의 인구를 추월할 시점을 계산하는 프로그램을 작성하라.
chinaPop = 1.37
indiaPop = 1.26
year = 2014
while indiaPop < chinaPop:
year += 1
chinaPop *= 1.0051
indiaPop *= 1.0135
print("India's population will exceed China's")
print("population in the year", str(year) + '.')
4.
사용자가 저축계좌를 이용하여 거래할 수 있도록 메뉴 기반 프로그램을 작성하여라.
초기에 계정잔금은 $1000이다.
options:
1.계좌 만들기
2.출금하기
3.계좌 잔금
4.프로그램 종료
옵션 중에 하나를 고르세요 : 1
입금할 돈을 입력하세요 : 500
입금완료
옵션 중에 하나를 고르세요 : 2
출금할 돈을 입력하세요 : 2000
출금 실패! 최대로 출금할 수 있는 돈은 $1,500.00 입니다.
출금할 돈을 입력하세요 : 600
출금 완료
옵션 중에 하나를 고르세요 : 3
잔금:$900.00
옵션 중에 하나를 고르세요 : 4
프로그램 종료
print('Options:')
print('1. Make a Deposit')
print('2. Make a Withdrawl')
print('3. Obtain Balance')
print('4. Quit')
balance = 1000
while True:
num = int(input('Make a selection from the options menu:'))
if num == 1:
deposit = float(input('Enter amount of deposit:'))
balance += deposit
print('Deposit Processed')
elif num == 2:
withdrawal = float(input('Enter amount of withdrawl:'))
while withdrawal > balance:
print('Denied. Maximum withdrawal is ${0:,2f'.format(balance))
withdrawal = float(input('Enter amount of withdrawl:'))
balance -= withdrawal
print('withdrawal processed.')
elif num == 3:
print('Balance: ${0:,.2f}'.format(balance))
elif num == 4:
break
else:
print('you did not enter a proper number.')
5.
노동자들이 65세에 퇴직하기 전에 얼마나 많은 돈을 벌 수 있는 지 추정하라.
노동자의 이름, 나이, 돈을 벌기 시작하는 시점은 입력 값으로 받는다.
노동자는 매년 5%의 연봉 인상액을 받는다고 가정한다.
이름을 입력하세요 : 김가
나이를 입력하세요 : 25
시작 연봉을 입력하세요 : 20000
김가는 총 $2,415,995를 벌 것이다.
name = input('Enter name:')
age = int(input('Enter age:'))
salary = float(input('Enter starting salary:'))
earnings = 0
for i in range(age, 65):
earnings += salary
salary += 0.5 * salary
print('{0} will earn about ${1:,.0f}'.format(name, earnings))
'Data > Python' 카테고리의 다른 글
Machine Learning #3 numpy (0) | 2018.09.19 |
---|---|
Machine Learning #2 python (0) | 2018.09.18 |
파이썬 선(禪)(Zen of Python) (0) | 2016.09.22 |
Python 강좌(5) (0) | 2016.07.22 |
Python 강좌(4) (0) | 2016.07.20 |