• Day10 【小程序】商城管理(购物车小程序的增强版)


    功能:(两个分开的程序)

    用户入口:

    1. 商品信息存在文件里;
    2. 已购商品、余额记录。

    商家入口:可以添加商品,修改商品价格;

    商家入口:

    # Author:q1.ang
    
    data={}
    data_save=''
    
    product=''
    price=''
    
    cache_product=''
    cache_price=''
    
    new_product=''
    new_price=''
    
    confirm=''
    confirm_save=''
    confirm_replace=''
    confirm_continue='n'
    
    f=open('shop_data.txt')
    shop_data=f.readlines()
    f.close()
    
    print(shop_data)
    
    
    while confirm_continue=='n':
    
        for i in shop_data:  # 打印商品和价格
            i2 = i.rstrip()
            product = i2.split(',')[0]
            price = i2.split(',')[1]
    
            data[product] = price
    
            print(shop_data.index(i) + 1, '.', product, '    ¥:', price)
    
        operate = input('Please choose [edit] [add] or [delete] product data:')
    
        if operate=='edit':
                edit_num=input('Please input the product number:')  #选择商品
                while not edit_num.isdigit():
                    edit_num=input('input error,please input again:')
                edit_num_int=int(edit_num)
    
                product=shop_data[edit_num_int-1].split(',')[0] #获取str型商品和价格
                price=shop_data[edit_num_int-1].split(',')[1]
    
                if product in data: #如果商品存在
    
                    cache_product=product #缓存
                    cache_price=data[product]
    
                    print(product,'    ¥:',data[product])
    
                    edit_data=input('Please input the new product [name] or [price]:')
    
                    if edit_data.isdigit():#如果修改的是价格
                        new_product=product
                        new_price=edit_data
    
                    else:      #如果修改的是商品名称
                        new_product = edit_data
                        new_price = data[product]
    
                    print(new_product, '', new_price)
    
                    confirm = input('Please confirm the edit to save(y/n):')
                    while confirm != 'y' and confirm!='n':
                        confirm=input('Input error:please input again(y/n):')
    
                    if confirm=='y':
                        data.pop(product)
                        data[new_product]=new_price
                        print('Saved Successful !')
                    elif confirm=='n':
                        pass
    
        elif operate=='add':
            product=input('Please input the product name:') #输入商品名称
            while product.isdigit():
                product_digit_confirm=input('Are you sure this is product name?(y/n)')
                while product_digit_confirm!='y' and product_digit_confirm!='n':
                    product_digit_confirm = input('Input error:please input again(y/n):')
                if product_digit_confirm=='y':
                    break
                else:
                    product = input('Please input the product name again:')
    
            price=input('Please input the product price:') #输入商品价格
            while not price.isdigit():
                price_digit_confirm=input('Are you sure this is product price?(y/n)')
                while price_digit_confirm!='y' and price_digit_confirm!='n':
                    price_digit_confirm = input('Input error:please input again(y/n):')
                if price_digit_confirm=='y':
                    break
                else:
                    price = input('Please input the product price again:')
    
            print(product, '',price)
    
            if product in data:
                confirm_replace=input('The data had this product,are you decided to replace it(y/n):')
                while confirm_replace!='y' and confirm_replace!='n':
                    confirm_replace = input('Input error:please input again(y/n):')
            else:
                confirm_save=input('Are you dicided to save it(y/n):')
                while confirm_save!='y' and confirm_save!='n':
                    confirm_save = input('Input error:please input again(y/n):')
    
            if confirm_replace == 'n'or confirm_save=='n':
                pass
            else:
                data[product]=price
        elif operate == 'delete':
            delete_produce=input('Delete product number:')
            while not delete_produce.isdigit():
                delete_produce = input('Input error,write the delete product number again:')
            delete_produce_int=int(delete_produce)
            cache_product=shop_data[delete_produce_int - 1].split(',')[0]
            print(cache_product,'',data[cache_product])
    
            confirm_delete=input('Are you dicided to delete it(y/n):')
            while confirm_delete!='y'and confirm_delete!='n':
                confirm_delete = input('Input error:please input again(y/n):')
    
            if confirm_delete=='y':
                data.pop(cache_product)
            else:
                pass
    
        confirm_continue=input('Are you exit?(y/n)')
    
    print(data)
    for i in data:
        data_save+=i+','+data[i]+'
    '
    
    f=open('shop_data.txt','w')
    f.write(data_save)
    f.close()



     

  • 相关阅读:
    学用 ASP.Net 之 "字符串" (5): StringBuilder 类
    学用 ASP.Net 之 System.DateTime 结构
    学用 ASP.Net 之 "字符串" (4): string 类的扩展方法
    学用 ASP.Net 之 System.Char 结构
    学用 ASP.Net 之 System.TimeSpan 结构
    学用 ASP.Net 之 "字符串" (6): StringInfo 类
    学用 ASP.Net 之 System.Math 类
    学用 ASP.Net 之 System.Random 类
    学用 ASP.Net 之 System.Collections.Hashtable 类与 DictionaryEntry 结构
    [收藏]如何开始创业
  • 原文地址:https://www.cnblogs.com/q1ang/p/8870428.html
Copyright © 2020-2023  润新知