Day4_函数/文件使用的练习

import json

FILE_NAME = 'goods.json'
def op_file(name,content=None):
    if content:
        with open(name,'w',encoding='utf-8') as fw:
            json.dump(content,fw,indent=4,ensure_ascii=False)
    else:
        with open(name,encoding='utf-8') as fr:
            res = json.load(fr)
            return res
all_goods = op_file(FILE_NAME)

def check_price(price):
    price = str(price)
    if price.isdigit():
        price = int(price)
        if price>0:
            return True
    else:
        if price.count('.')==1:
            tmp = price.split('.')
            #0.0
            left = tmp[0]
            right = tmp[1]
            # 1.00

            if left.isdigit() and right.isdigit() and int(right)>0:  #1.0
                return True
            elif left.isdigit() and right.isdigit() and int(left)>0: # 0.1
                return True
    return False

def get_good_info():
    while True:
        good_name = input('商品名称:').strip()
        price = input('price:').strip()
        count = input('count:').strip()
        color = input('color:').strip()
        if good_name and price and count and color:
            if not check_price(price):
                print('价格输入不合法,必须大于0')
            elif not count.isdigit() and int(count)<1:
                print('数量不合法')
            else:
                return good_name,price,count,color
        else:
            print('输入不能为空!')

def add_good():
    good_name,price,count,color = get_good_info()
    if good_name not in all_goods:
        all_goods[good_name]= {
            'price':price,
            'count':count,
            'color':color
        }
        op_file(FILE_NAME,all_goods)
        print('添加完成!')
    else:
        print('商品已经存在!')

def update_good():
    good_name,price,count,color = get_good_info()
    if good_name in all_goods:
        all_goods[good_name]= {
            'price':price,
            'count':count,
            'color':color
        }
        op_file(FILE_NAME,all_goods)
        print('修改完成!')
    else:
        print('商品不存在!')

def query_good():
    good_name = input('商品名称:').strip()
    if good_name in all_goods:
        print(all_goods.get(good_name))
    else:
        print('商品不存在')

def delete_good():
    good_name = input('商品名称:').strip()
    if good_name in all_goods:
        all_goods.pop(good_name)
        op_file(FILE_NAME,all_goods)
    else:
        print('商品不存在')

def main():
    for i in range(3):
        choice = input('请输入你的选择'
                       '1、添加'
                       '2、修改'
                       '3、删除'
                       '4、查看'
                       '5、退出')
        if choice=="1":
            add_good()
        elif choice=="2":
            update_good()
        elif choice=="3":
            delete_good()
        elif choice=="4":
            query_good()
        elif choice=="5":
            quit('程序退出')
        else:
            print('输入错误,请重新输入!')
            return main()
main()

猜你喜欢

转载自www.cnblogs.com/jinzhng/p/9277819.html
今日推荐