PYTHON學習第一模塊 購物車模擬

購物車模擬python

 

需求:git

  • 用戶入口
  1. 商品信息存在文件裏
  2. 已購商品,餘額記錄
  • 商家入口
  1. 能夠添加商品,修改商品價格

 

說明:app

  • python版本爲3.6
  • 用戶入口及商戶入口的菜單列表均存在goods_list文件中。

 

代碼:blog

商家入口:utf-8

# /usr/bin/env python
# -*- coding: utf-8 -*-
# AUTHOR:Fio
import os
Goods_list = []


def add_good():
    goods_name_input = input("輸入新增商品的名稱:")
    goods_price_input = input("輸入新增商品的價格:")
    goods_add = [goods_name_input, goods_price_input]
    Goods_list.append(goods_add)
    print("新增商品後的菜單:")
    for index, item in enumerate(Goods_list):
        print(index, item)
    with open('./goods_list_tmp', 'w') as goods2:
        for count in range(len(Goods_list)):
            goods2.write("%s " % (Goods_list[count][0]))
            goods2.write("%s\n" % (Goods_list[count][1]))
    os.remove('./goods_list')
    os.rename('./goods_list_tmp', './goods_list')


def modify_good():
    for index, item in enumerate(Goods_list):
        print(index, item)
    goods_name_input = input("輸入須要修改商品的名稱:")
    for count in range(len(Goods_list)):
        if Goods_list[count][0] == goods_name_input:
            print("修改前的價格:%s" % Goods_list[count][1])
            goods_price_input = input("輸入修改後的價格:")
            Goods_list[count][1] = goods_price_input
    with open('./goods_list_tmp', 'w') as goods2:
        for count in range(len(Goods_list)):
            goods2.write("%s " % (Goods_list[count][0]))
            goods2.write("%s\n" % (Goods_list[count][1]))
    os.remove('./goods_list')
    os.rename('./goods_list_tmp', './goods_list')
    print("修改後的商品價格")
    for index, item in enumerate(Goods_list):
        print(index, item)


if __name__ == "__main__":
    with open('./goods_list', 'r') as goods1:
        for line in goods1:
            Goods_list.append(line.split())
    while True:
        print('''
        ###############################
        #   歡迎進入商家入口:
        #   
        #   1.  新增商品內容
        #   2.  修改商品價格
        ###############################
        ''')
        order_num = input("選擇序號:")
        if order_num == '1':
            add_good()
        elif order_num == '2':
            modify_good()
        elif order_num == 'q':
            exit()
        else:
            print("請輸入正確的序號")

  用戶入口:rem

# /usr/bin/env python
# -*- coding: utf-8 -*-
# AUTHOR:Fio
Goods = []
Carts = []
with open('./goods_list', 'r') as goods1:
    for line1 in goods1:
        Goods.append(line1.split())


# 記錄帳戶內容
def account():
    with open('./account', 'r') as balance:
        money = balance.read()
        if money == "":
            salary = int(input('輸入你的工資:'))
        else:
            with open('./carts', 'r') as carts_record:
                goods = carts_record.read()
                print("您已購買的商品%s" % goods)
            salary = int(money)
            print("您的帳戶餘額%s" % salary)
    return salary


# 購物車操做
def carts(salary):
    while True:
        for index, item in enumerate(Goods):
            print(index, item)
        choice = input('選擇您要購買的商品序號:')
        if choice.isdigit():
            goods_num = int(choice)
            if len(Goods) > goods_num >= 0:
                g_item = Goods[goods_num]
                g_price = int(g_item[1])
                if g_price < salary:
                    salary -= g_price
                    Carts.append(Goods[goods_num])
                    print('您購買的商品:\033[31;1m%s\033[0m,您的餘額還剩下:\033[31;1m%s\033[0m'
                          % (Goods[goods_num], salary))
                    with open('./carts', 'w') as carts_record:
                        carts_record.write(str(Goods[goods_num]))
                else:
                    print('您已購買的商品:\033[31;1m%s\033[0m,且您的餘額\033[31;1m%s\033[0m不足以購買%s.'
                          % (Carts, Goods[goods_num], salary))
                    with open('./account', 'w') as balance:
                        balance.write(str(salary))
                    exit()
        elif choice == 'q':
            print('您已經購買的商品:\033[31;1m%s\033[0m,您還剩下的餘額爲:\033[31;1m%s\033[0m' % (Carts, salary))
            with open('./carts', 'w') as carts_record:
                carts_record.write(str(Goods[goods_num]))
            with open('./account', 'w') as balance:
                balance.write(str(salary))
            exit()
        else:
            print('請選擇購買的商品!')

if __name__ == "__main__":
    Money = account()
    carts(Money)
相關文章
相關標籤/搜索