练习要求:
开发程序对stock_data.txt进行以下操作:
程序启动后,给用户提供查询接口,允许用户重复查股票行情信息(用到循环)
允许用户通过模糊查询股票名,比如输入“啤酒”,就把所有股票名称中包含“啤酒”的信息打印出来
允许按股票价格、涨跌幅、换手率这几列来筛选信息,比如输入“价格>50”则把价格大于50的股票都打印,输入“市盈率<50“,则把市盈率小于50的股票都打印,不用判断等于。
思路提示:加载文件内容到内存,转成 dict 或 list 结构,然后对 dict 或 list 进行查询等操作。 这样以后就不用每查一次就要打开一次文件了,效率会更高。
代码:
# 1.获取数据源信息
f = open("股票信息", "r", encoding="utf-8")
# 2.按照换行分割
data = f.read()
data_arr = data.split("\n")
dic = {} # 查询的字
dic_name = [
"股票代码",
"股票名称",
"价格",
"涨跌额",
"涨跌幅",
"年初至今",
"成交量",
"成交额", "换手率", " 市盈率(TTM)", "股息率", "市值"
]
for i in data_arr:
item = i.split(",")
# 股票代码 股票名称 股票价格 涨跌幅 换手率
# 允许模糊查询:股票代码或者股票名称
search_name = ""
for j in range(len(item)):
search_name = search_name + item[j] + ","
dic[search_name] = item
# 3.转化为字典形式
print(dic)
# 7. 定义查询的方法
def search(flag, str1, i):
index = 0
p_res = ""
if str1.index(flag) > 0: