Maison >développement back-end >Tutoriel Python >Code de pièce du marchand de panier d'achat Python

Code de pièce du marchand de panier d'achat Python

高洛峰
高洛峰original
2017-03-27 16:32:391417parcourir

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

#!C:\Program Files\Python35/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("\033[31;0m[%s]\033[0m price has been change to \033[32;0m%s\033[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 \033[31;0m[%s]\033[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 :
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 :
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 :
please input the goods name:book
the goods not in product list, do you want to add:no

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn