Python 购物车---之商家部分

知识点:文件写入操作, 函数, 函数递归

#!C:Program FilesPython35/bin
# -*- conding:utf-8 -*-
# author: Frank

# 定义商品列表
product_list = {
    'Pen':2.5,
    'NoteBook':3.3,
    'eraser':1.0
}

Mesg = '''
1.Change goods' price
2.Add new goods
3.quit
Plese input which do you want :
'''
def print_list():
    for key in product_list:
        print(key, product_list[key])

def change_price():
    name = input("please input the goods name:")
    if name in product_list:
        new_price = input("please input new price:")
        product_list[name] = new_price
        print("33[31;0m[%s]33[0m price has been change to 33[32;0m%s33[1m"%(name, new_price))
        print_list()

    else:
        ok = input("the goods not in product list, do you want to add:")
        if ok in ('y','ye','yes'):
            add_goods()
        if ok in ('n','no','none'):
            exit(record_to_text())


def add_goods():
    name = input("please input the add goods name:")
    if name in product_list:
        print("The goods had exist, please re_input:")
        add_goods()
    else:
        price = input("please input the goods price:")
        product_list[name] = price
        print("Add 33[31;0m[%s]33[1m into list already"% name)
        print_list()

def record_to_text():
    with open("product",'w+',encoding='utf-8') as f:
        for goods in product_list:
            print(goods,product_list[goods], file=f)


print_list()
while True:
    user_input = input(Mesg)
    if user_input == '1':
        change_price()
    elif user_input == '2':
        add_goods()
    else:
        user_input == '3'
        print("Your current produce list as below:")
        print_list()
        exit(record_to_text())

测试:

NoteBook 3.3
eraser 1.0
Pen 2.5

1.Change goods' price
2.Add new goods
3.quit
Plese input which do you want :
2
please input the add goods name:Apple
please input the goods price:5.0
Add [Apple] into list already
Apple 5.0
NoteBook 3.3
eraser 1.0
Pen 2.5

1.Change goods' price
2.Add new goods
3.quit
Plese input which do you want :
1
please input the goods name:Pen
please input new price:2.3
[Pen] price has been change to 2.3
Apple 5.0
NoteBook 3.3
eraser 1.0
Pen 2.3

1.Change goods' price
2.Add new goods
3.quit
Plese input which do you want :
1
please input the goods name:book
the goods not in product list, do you want to add:no
View Code
原文地址:https://www.cnblogs.com/frankb/p/6266679.html