ztjdtj.py
代码片
# -*- coding: utf-8 -*-
"""
计算涨停价和跌停价, 给定品种和昨天收盘价.
Parameters
----------
lc : 前收盘价, 浮点数
stype : 整型, optional
证券品种(0=可转债, 1=股票). The default is 0.
Returns
-------
None.
使用举例:
%run ztjdtj.py 100 # 可转债品种
%run ztjdtj.py 100 0 # 可转债品种
%run ztjdtj.py 100 1 # 股票品种
Created on Thu Dec 7 15:09:29 2023
"""
import sys
def get_ztj_dtj(lc, stype=0):
type_ = '可转债' if stype==0 else '股票'
if stype==0:
u = lc * (1+20/100)
d = lc * (1-20/100)
print(f'{type_}品种, 前收盘={lc:8.3f}, 涨停价={u:8.3f}, 跌停价={d:8.3f}')
elif stype==1:
u = lc * (1+10/100)
d = lc * (1-10/100)
print(f'{type_}品种, 前收盘={lc:8.2f}, 涨停价={u:8.2f}, 跌停价={d:8.2f}')
if __name__=='__main__':
#用具有异常处理的语句, 使脚本更健硕
#获取携带的参数
try:
lc, stype=sys.argv[1:] # 当携带2个参数时
lc, stype = float(lc), int(stype)
except ValueError: # 当携带1个参数时
lc, stype = float(sys.argv[1]), 0
get_ztj_dtj(lc, stype)
duanqs