学习python后,做的最久的作业,纪念一下
话不多说,直接上代码
f = open("股票数据", "r")
e = f.read() # 把内容取到内存
a = "".join(e).split("\n") # 把e中的内容合并,并以换行符为分隔,形成列表
a_new = []
for i in a:
g = i.split(",") # 把a列表内的每一行分成小列表,(以“,”分隔字符串)
a_new.append(g) # 把新形成的每一行小列表添加到a_new列表内
while True: # 无限循环
data = input("请输入需要查询的信息:").strip() # 删除输入内容两边的空格
print(a_new[0]) # 打印第一行标签
#1.模糊搜索
if data in e: # 判断输入的数据是否在文件内
times = e.count(data) # 计算文件内有多少个数据
for i in a: # 依次打印列表a的每一行
if data in i: # 判断输入的数据是否在列表的行内
print(i.split(",")) # 如果在就打印该字符串所形成的列表
print(f"找到{times}处。")
#2.根据判断条件搜索
elif ">" in data:
b = data.index(">") # 根据符号获取该符号在输入数据中的位置
front = data[:b] # 根据符号在输入数据中的位置,提取出符号左边的数据
behind = data[b+1:] # 根据符号在输入数据中的位置,提取出符号右边的数据
c = a_new[0].index(front) # 根据符号左边的数据获取在列表a_new第一个标题小列表中对于字符串所在的位置
i_count = []
for i in a_new[1:]: # 从1位置开始循环列表a_new内的小列表
if "%" in i[c] or "万" in i[c]: # 判断“%” 或者 “万” 是否在i[c]内
c_new = float(i[c][:-1]) # 如果在,赋值c_new = 去掉i[c]字符串的最后一位后转为小数
behind_new = int(behind[:-1]) # 如果在,赋值behind_new = 去掉behind字符串的最后一位后转为整数
elif "损" in i[c] or "-" in i[c]: # 并列判断
c_new = -100
behind_new = int(behind[:-1])
elif "亿" in i[c]: # 并列判断
c_new = (float(i[c][:-1])) * 10000 # 如果在,赋值c_new = 去掉i[c]字符串的最后一位后转为小数,再乘10000(恢复亿的意思)。
behind_new = int(behind[:-1])
else: # 以上都不是的情况下
c_new = float(i[c]) # 直转小数
behind_new = int(behind) # 直转整数
if c_new > behind_new: # 在上一个if-else选择一个通过后,再到这一个if判断
i_count.append(i) # 为了计数,把通过该if的i添加到列表i_count
print(i)
print(f"找到{len(i_count)}处。") # 计算列表内有多少数据 (字符串或者列表都算)
elif "<" in data: # 同上
b = data.index("<")
front = data[:b]
behind = data[b+1:]
c = a_new[0].index(front)
i_count = []
for i in a_new[1:]:
if "%" in i[c] or "万" in i[c]:
c_new = float(i[c][:-1])
behind_new = int(behind[:-1])
elif "损" in i[c] or "-" in i[c]:
c_new = -100
behind_new = int(behind[:-1])
elif "亿" in i[c]:
c_new = (float(i[c][:-1])) * 10000
behind_new = int(behind[:-1])
else:
c_new = float(i[c])
behind_new = int(behind)
if c_new < behind_new:
i_count.append(i)
print(i)
print(f"找到{len(i_count)}处。")
elif data not in e: # 如果输入的数据不在文件内
print("未找到你需要的信息,请重新输入!")
做的中间各种奇奇怪怪的报错,做为小白的我,差点砸键盘!!!
然后就是百度啊百度,然后就找到了这个交流的平台,解决了我的挺多疑惑的,真棒!!!
最后,加油!
加油!
加油!!