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)

 

 

 

 

 

 

 

 

 

 

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