2016年8月18日 星期四

python 程式設計50題測試範例-5

5、銀行存款計算方式如下
        N天後的存款=開始存入的錢 *(1+RATE/365)^ N
        RATE:代表年利率
  寫一程式包含下列兩個功能
  (1)輸入開始的存款經過N天後,輸出存款為何?
  (2)輸入N天後的存款,求開始時要存入多少錢?

.5.1

範例一
範例二
輸入
20000元,年利率6%,30
600000元,年利率6%,90
輸出
20098.863
608941.875

5.2

範例一
範例二
輸入
200098.863,年利率6%,30
608941.875元,年利率6%,90
輸出
20000
600000

ST
RATE
N
DR
2000
6
30
2009.887
600000
6
90
608941.960
DR
RATE
RATE
ST
2009.887
6
30
2000.000439
608941.960
6
90
599999.9997




程式

#coding:Big5

print ('            5、銀行存款計算方式如下   ')
print ('  N天後的存款=開始存入的錢 *(1+RATE/365)^ N ')
print ('  RATE:代表年利率 ')
print ('  寫一程式包含下列兩個功能 ')
print ('    (1)輸入開始的存款經過N天後,輸出存款為何? ')
print ('    (2)輸入N天後的存款,求開始時要存入多少錢? ')

while True:
    N = input('請輸入1 或2 :')
    try:
       N = int(N)
    except ValueError:
       print ('這是不合法的輸入.  請再輸入一次...')
       continue
    if (N ==1 or N==2) :
       break

#======================================
while N==1:
    while True:
        ST = input('請輸入開始的存款  數字:')
        try:
          ST = int(ST)
        except ValueError:
             print ('這是不合法的輸入.  請再輸入一次...')
             continue
        if ST > 0 :
           break

    while True:
        RATE = input('請輸入年利率 例如6%輸入6  數字:')
        try:
          RATE = int(RATE)
        except ValueError:
             print ('這是不合法的輸入.  請再輸入一次...')
             continue
        if RATE > 0 :
           break

    while True:
        N1 = input('請輸入天數 數字:')
        try:
          N1 = int(N1)
        except ValueError:
             print ('這是不合法的輸入.  請再輸入一次...')
             continue
        if N1 > 0 :
           break

    DR=ST* (1+RATE/36500)**N1
    print("%d" %N1,end='')
    print("天後的存款為 : %8.3f"  % DR)
    N=3

#======================================
while N==2:
    while True:
        DR = input('請輸入N天後的存款  數字:')
        try:
          DR = float(DR)
        except ValueError:
             print ('這是不合法的輸入.  請再輸入一次...')
             continue
        if DR > 0 :
           break

    while True:
        RATE = input('請輸入年利率 例如6%輸入6  數字:')
        try:
          RATE = int(RATE)
        except ValueError:
             print ('這是不合法的輸入.  請再輸入一次...')
             continue
        if RATE > 0 :
           break

    while True:
        N1 = input('請輸入天數 數字:')
        try:
          N1 = int(N1)
        except ValueError:
             print ('這是不合法的輸入.  請再輸入一次...')
             continue
        if N1 > 0 :
           break


    ST=DR / ((1+RATE/36500)**N1)
    print("開始時要存入多少錢 : %8.3f"  % ST)
    N=3

#======================================


    


結果
================== RESTART: D:/程式語言 Python 入門/50題/ex50-5.py ==================
            5、銀行存款計算方式如下   
  N天後的存款=開始存入的錢 *(1+RATE/365)^ N 
  RATE:代表年利率 
  寫一程式包含下列兩個功能 
    (1)輸入開始的存款經過N天後,輸出存款為何? 
    (2)輸入N天後的存款,求開始時要存入多少錢? 
請輸入1 或2 :1
請輸入開始的存款  數字:20000
請輸入年利率 例如6%輸入6  數字:6
請輸入天數 數字:30
30天後的存款為 : 20098.866
>>> 
================== RESTART: D:/程式語言 Python 入門/50題/ex50-5.py ==================
            5、銀行存款計算方式如下   
  N天後的存款=開始存入的錢 *(1+RATE/365)^ N 
  RATE:代表年利率 
  寫一程式包含下列兩個功能 
    (1)輸入開始的存款經過N天後,輸出存款為何? 
    (2)輸入N天後的存款,求開始時要存入多少錢? 
請輸入1 或2 :2
請輸入N天後的存款  數字:20098.886
請輸入年利率 例如6%輸入6  數字:6
請輸入天數 數字:30
開始時要存入多少錢 : 20000.020
>>> 

沒有留言:

張貼留言

WOKWI LED + MQTT Node-Red SQLite

WOKWI LED + MQTT Node-Red SQLite const char *mqtt_broker = "broker.mqtt-dashboard.com" ; const char *topic1 = "alex9ufo/e...