实例 模拟实现输出进销存管理系统中的每月销售明细,运行程序,输入查询的月份,如果输入的月份存在销售明细,则显示本月商品销售明细;如果输入的月份不存在或者不是数字,则显示“该月的没有销售数据或者输入月份有误!”效果如下
请输入要查询的月份(比如1,2,3):2
2月份的销售商品明细如下:
商品编号0001,名称地瓜,销量200
商品编号0004,名称土豆,销量2
请输入要查询的月份(比如1,2,3):5
该月的没有销售数据或者输入月份有误!
解题思路 将原题分解为几个小部分 1 销售明细 可以看作底表 可以用多种形式 例如字典{(月份:2月):(销售明细:地瓜)},也可以用简单的输出方式 月份 +明细。 2判断 输入的内容是否正确(判断是否纯数字isdecimal())判断是否存在有多种方法 例如== 或者count()是否为0,3看题出现两次询问用循环while
解法一 不涉及定义类及函数 i=1 while i<3: my_dict={"2":"土豆","3":"地瓜","4":"黄瓜"} person=input("请输入您要查询的月份例如1/2/3") if (int(person)==2 or int(person)==3 or int(person)==4) and person.isdecimal(): if int(person)==2: print("本月销售明细"+my_dict["2"])#注意这里的索引不是0而是key elif int(person)==3: print("本月销售明细"+my_dict["3"]) else: print("本月销售明细"+my_dict["4"]) else: print("该月没有销售数据或者输入错误") i+=1
解法二 定义类 类主要的作用就是提取销售明细
my_dict={"2":"土豆","3":"地瓜","4":"黄瓜"} aa=[] bb=[] for key in my_dict: aa.append(key) #将键放在一个列表 bb.append(my_dict[key]) #将值放在一个列表 class Print: def __init__(self,month,content): self.month=month #添加属性 self.content=content #添加属性 print("您查询的月份为"+self.month+"月"+"明细为"+self.content) person=input("请输入您要查询的月份例如1/2/3") if person in aa:#in 判断是否存在,这里的person不用转换为整数,因为列表里都是字符串 printt=Print(person,my_dict[person]) else: print("您输入的月份不存在或者没有销售明细")
其实还有很多其他解决方法,希望大家一起复习复习,例如还可以用count()判断person是否在aa键列表中出现