python3基础写的水果销售系统

 

初始化源码 : sale_system_prepare.py

#!/usr/bin/python
# -*- coding: utf-8 -*-

import json


def write_json(file_name):
    stocklist = {
        '苹果': 10,
        '香蕉': 10,
        '雪梨': 10,
    }
    with open(file_name, 'w', encoding='utf-8') as ob:
        # 解决存入中文乱码ensure_ascii=False
        json.dump(stocklist, ob, ensure_ascii=False)


if __name__ == '__main__':
    file_name = 'stock.json'
    write_json(file_name)

 

核心代码:sale system.py

#!/usr/bin/python
# -*- coding: utf-8 -*-


import json
from sale_system_prepare import write_json

# 数据初始化
file_name = 'stock.json'
write_json(file_name)

print('欢迎来到英俊杂货店')

# 读取数据
with open(file_name, 'r', encoding='utf-8') as ob:
    fruits = json.load(ob)
    print("名称" + "\t" + "数量")
    fruits = dict(fruits)
    for k, v in fruits.items():
        print(k + '\t' + str(v))

    while True:
        # 买的水果种类
        print("输入‘q'可以退出")
        fruit_list = []
        for k, v in fruits.items():
            fruit_list.append(k)
        fruit_list = str(fruit_list)
        fruit_name = input('输入要购买的水果,可选择' + fruit_list)
        if fruit_name == 'q':
            print("欢迎下次再来")
            break
        # 只有购买的水果名字在清单上时
        elif fruit_name in fruits.keys():
            # 买的数量
            while True:
                fruit_num = input('输入要购买的数量1-10:')
                if fruit_num.isdigit():
                    # 输入只有数字
                    if int(fruit_num) < 1 or int(fruit_num) > 10:
                        print('请输入数字1-10')
                        continue
                    elif 0 < int(fruit_num) <= 10:
                        print("你已购买" + str(fruit_num) + "个" + fruit_name)
                        # 更新水果数量
                        old_fruit_num = int(fruits[fruit_name])
                        new_fruit_num = old_fruit_num - int(fruit_num)
                        fruits[fruit_name] = new_fruit_num
                        print(fruit_name+"还剩: " + str(new_fruit_num) + ' 个')
                        if new_fruit_num == 0:
                            print(fruit_name + ' 已售罄')
                            # fruits[fruit_name] = '已售罄'
                            del fruits[fruit_name]
                        break
                else:
                    # 输入不是纯数字
                    if fruit_num == 'q':
                        break
                    else:
                        print('请只输入数字')
                        continue
        else:
            print('本店暂时没有叫' + fruit_name + '的水果')
            continue
print("本店剩余")
print("名称" + "\t" + "数量")
fruits = dict(fruits)
for k, v in fruits.items():
    print(k + '\t' + str(v))
# 提交数据
with open(file_name, 'w', encoding='utf-8') as ob:
    # 解决存入中文乱码ensure_ascii=False
    json.dump(fruits, ob, ensure_ascii=False)

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章