Pages

Tuesday, July 7, 2020

Python初体验 - 计算股票购买或出售的最终价格

自从自己不需要再写程式后、微软也宣布主推.Net不再为ASP(写网页)和VBS(写系统)做更新后,
更有一段时间Windows7和Windows10都不支援ASP和VBS,
自己的编程能力就好像武功被废了,以前所写的程式如今备份储存在硬碟内,就好像一堆占位子的垃圾。
直到最近在买新笔电后,要把旧笔电的档案转到新笔电时,自己才又重新整理起自己以前这一堆曾经的资产。
意外发现,原来如今的Windows10又支援了当年的ASP和VBS,但当然微软只是支援,已经没有再为它们更新了。
为什么说资产呢?
因为我不是出生Programmer,我毕业是多媒体Designer,我是在压力之下成为了一个程式编程员。
即便如此,但我所写的第一代系统成就了我的公司,今日的系统也是参照了往日我的系统雏形而编写出来的。
如今公司迈入了13个年头,今日的这一堆卸任退休了的程式备份,曾是我最重要的、公司最重要的资产,也是我自己的骄傲。
有时看着这一堆备份程式系统档案,想着它们曾经的辉煌,曾经忙碌到处理指令都来不及,一直发生延误。
如今的系统已经是第三代了,是同事们用JAVA写的新一代系统,新系统能处理的指令更多,更快速、更强大,
看着这一堆出A到Z自我手、卸任了的第一代运作程式,我感触良多。

意外的,今天在网络上阅读到关于Python的资料,老实说恕我孤陋寡闻,Python这一词我还是今天才知道。
大约看了一下它的模式和句法,第一次接触Python,感觉Python很像我的老剪刀VBS。
Python似乎更强大、而且编写方面反而更为简单容易。

今天我现学现做,牛刀小试马上用Python写下了一套用来计算股票购买或出售后的最终价格的小程式。
水钱当然就会是我自己所用的Broker水钱(可任意选择CIMB的Direct账户0.35%或是Maybank的Nominess账户0.1%)。
我心情感觉非常的愉悦。

我喜欢数学,即便我毕业于设计,但当初做编程时,我也喜欢编程,
因为道理就是我非常享受我Solve到难题的成就感,比如Solve到的复杂数学题,或用程式Solve到复杂的方案。

以下分享我Python初体验-可用来计算股票购买或出售的最终价格,
有CIMB Direct Acc的水钱和Maybank Nominees Acc的水钱计算供选择。


Action = input("a: Buy Shares b: Sell Shares (a/b)?")
if Action != "a" and Action != "b":
 print("Please key in again")
 Action = input("a: Buy Shares b: Sell Shares (a/b)?")
else:
 pass

Unit = float(input("Enter Unit :"))
Price = float(input("Enter Price :"))
Gross = round(Unit * Price, 2)
print("-------------------------")
print("Gross Price =", Gross)
print("-------------------------")
print(" ")
print("Choose the Brokerage Rate (a/b) :")
print("a : CIMB Direct(0.35%)")
print("b : MBB Nominees(0.1%)")
Broker = str(input("Broker : "))

if Broker == "a":
 BrokerN = "CIMB Direct Account"
 BrokerA = Gross * 0.0035
 if BrokerA < 12:
  BrokerA = 12
 else:
  pass
elif Broker == "b":
 BrokerN = "Maybank Nominees Account"
 BrokerA = Gross * 0.001
 if BrokerA < 8:
  BrokerA = 8
 else:
  pass
elif Broker != "a" and Broker != "b":
 print("Please key in again")
 Broker = str(input("Broker : "))
 BrokerN = ""


WStamp =input("With Stamping Fees (Y/N) ?")
if WStamp == "Y" or WStamp == "y":
 StampF = int((Gross / 1000) + 1)
else:
 StampF = 0

BrokerT = round(BrokerA * 1.06, 2)
ClearF = round((Gross * 0.0003) + 0.01, 2)
FeeT = round(BrokerT + StampF + ClearF, 2)
print(" ")
print(" ")
print("Broker :", BrokerN)
print("Brokerage Total = RM", BrokerT)
print("Stamping Fees = RM", StampF)
print("Clearing Fees = RM", ClearF)
print("-------------------------")
print("Total Fees = RM", FeeT)
print("-------------------------")
if Action == "a":
 AmtT = Gross + FeeT
elif Action == "b":
 AmtT = Gross - FeeT

print("Total Amount = RM", AmtT)
print("-------------------------")
input()



Output:


也看:
-【Python 的誕生故事】覺得其他程式語言不好用,超狂荷蘭工程師花三個月打造自己的程式語言
-Python,史上最伟大的发明 !



= Copyright by Joseph Ohlian =

No comments:

Post a Comment