import re #打开文本文件 f = open("stock_data.txt",encoding="utf-8") #单独读取第一行数据处理进行分割,末尾换行符去掉 headers = f.readline().strip().split(',') print(headers) #定义一个字典,以股标代码做为KEY,每个行做为值 stock_list = {} for line in f: line = line.strip().split(',') print(line) stock_list[line[0]]=line print(type(stock_list),stock_list) f.close()
#允许用户通过模糊查询股票名, # 比如输入“哈工”, 就把所有名称当中包含啤酒的股票都打印出来。
while True: cmd = input("请你输入你的查询指令:") for s_id,s_data in stock_list.items(): if cmd in s_data[1]: print(s_data)
# 允许按 当前价、涨跌幅、换手率 这几列来筛选信息, # 比如输入“当前价>50”则把价格大于50的股票都打印,
这重点说明一下,输入的条件要验证合法性,列名是否在上边的三列,数值是不是合法。
continue 是继续执行,
cmd_list = re.split("[><]",cmd) if len(cmd_list)!=2: print("你输入的筛选条件不合法,请重新输入!") continue cmd_name, cmd_value = cmd_list if cmd_name not in ["当前价","涨跌幅","换手率"]: print("你输入的筛选列名不合法,请重新输入!") continue try: cmd_value = float(cmd_value) except: print("你输入的筛选数值不合法,请重新输入!") continue
明天更新续集