Shopping1(主要使用列表进行存储)

--------------------goods.txt-----------------------
iphone3s,3500
iphone4,4000
iphone4s,4500
iphone5,5000
iphone5s,5500
iphone6,6000
iphone6s,6500
iphone7,7700
--------------------goods.txt-----------------------
  1 def print_list():    # 打印商品清单,并返回商品清单
  2     with open("goods.txt", 'r') as file:
  3         str1 = file.read()
  4     list_goods = str1.split('\n')
  5     for index, i in enumerate(list_goods):
  6         print(index + 1, i)
  7     return list_goods
  8 
  9 def write_file(str1):  # 将接收到的字符串写入商品清单txt中
 10     with open("goods.txt", 'w') as file:
 11         file.write(str1.strip('\n'))
 12     print("操作成功!")
 13 
 14 def change_goods():   # 修改商品价格函数
 15     while True:
 16         list_goods = print_list()  # 调用函数 print_list()
 17         change_num = int(input("请输入您需要修改的商品编号:"))
 18         change_goods = list_goods[change_num-1]
 19         change_good2 = change_goods.split(',')
 20         change_price = int(input("请输入商品的价格:"))
 21         list_goods[change_num-1] = change_good2[0]+','+change_price.__str__()
 22         str1 = ""
 23         for i in list_goods:
 24             str1 = str1 + i + '\n'
 25         write_file(str1)  # 调用函数write_file()
 26         c_to_q = input("继续操作请按'c',按其他任意键退出程序:")
 27         if c_to_q == 'c':
 28             continue
 29         else:
 30             break
 31 
 32 def add_goods():  # 添加商品函数
 33     while True:
 34         list_goods = print_list()  # 调用函数 print_list()
 35         add_name = input("请输入需要增加的商品名称:")
 36         add_price = int(input("请输入需要增加商品的价格:"))
 37         add_goods = add_name + ',' + add_price.__str__()
 38         list_goods.append(add_goods)
 39         str1 = ""
 40         for i in list_goods:
 41             str1 = str1 + i + '\n'
 42         write_file(str1)  # 调用函数write_file()
 43         c_or_q = input("继续操作请按'c',按其他任意键退出程序:")
 44         if c_or_q == 'c':
 45             continue
 46         else:
 47             break
 48 
 49 def del_goods():  # 删除商品函数
 50     while True:
 51         list_goods = print_list()  # 调用函数 print_list()
 52         del_num = int(input("请输入需要删除商品的编号:"))
 53         del_goods = list_goods[del_num -1 ]
 54         list_goods.remove(del_goods)
 55         str1 = ""
 56         for i in list_goods:
 57                 str1 = str1 + i + '\n'
 58         write_file(str1)   # 调用函数write_file()
 59         c_or_q = input("继续操作请按'c',按其他任意键退出程序:")
 60         if c_or_q == 'c':
 61             continue
 62         else:
 63             break
 64 
 65 def user():
 66     balance_file = open("balance.txt", 'a+')
 67     balance_file.seek(0)
 68     balance = balance_file.read()
 69     if balance == "":
 70         balance = int(input("请输入您的工资:"))
 71     balance = int(balance)
 72     pur_list1 = []
 73     pur_goods = open("pur_goods.txt", 'a+')
 74     while True:
 75         print("商品列表".center(50, '-'))
 76         list_goods = print_list()  # 调用函数 print_list()
 77         print("你目前账户的余额为:%d" %balance)
 78         list_num = input("请输入需购买的商品编号,或者输入'Q'退出程序:")
 79         if list_num.isdigit():
 80             list_num = int(list_num)
 81             if list_num > 0 and list_num <= len(list_goods):
 82                 goods_list = list_goods[list_num - 1]
 83                 pur_list2 = goods_list.split(',')
 84                 if balance >= int(pur_list2[1]):
 85                     balance = balance - int(pur_list2[1])
 86                     pur_list1.append(pur_list2[0])
 87                     print("成功购买 %s,花费 %s。剩余金额 %d " % (pur_list2[0], pur_list2[1], balance))
 88                 else:
 89                     print("余额不足,剩余金额 %d,请重新选择!" % balance)
 90                     continue
 91             else:
 92                 print("编号不存在,请重新输入!")
 93         elif list_num.upper() == 'Q':
 94             break
 95         else:
 96             print("输入错误,请重新输入!")
 97 
 98   str2 = ""
 99   for i2 in pur_list1:
100       str2 = str2 + i2 + '\n'
101   pur_goods.write(str2)
102   pur_goods.seek(0)
103   print("你已购的商品为:\n",pur_goods.read())
104   pur_goods.close()
105   balance_file.close()
106   with open("balance.txt", 'w') as balance_file2:
107       balance_file2.write(str(balance))
108 
109 #---------------------调用部分-----------------------------
110 
111 while True:
112     interface = int(input("输入‘1’登录用户接口,输入‘2’登录商家接口:"))
113     if interface == 1:
114         user()
115         break
116     elif interface == 2:
117         print("功能列表".center(50,'-'))
118         print("1、修改商品价格\n 2、添加新商品\n 3、删除商品\n")
119         while True:
120             interface2 = int(input("请输入需要使用的功能编号:"))
121             if interface2 == 1:
122                 change_goods()
123                 exit()
124             elif interface2 == 2:
125                 add_goods()
126                 exit()
127             elif interface2 == 3:
128                 del_goods()
129                 exit()
130             else:
131                 print("输入错误,请重新输入!")
132     else:
133         print("输入错误,请重新输入!")
View Code

 

def print_list():    # 打印商品清单,并返回商品清单
    with open("goods.txt", 'r') as file:
        str1 = file.read()
    list_goods = str1.split('\n')
    for index, i in enumerate(list_goods):
        print(index + 1, i)
    return list_goods

def write_file(str1):  # 将接收到的字符串写入商品清单txt中
    with open("goods.txt", 'w') as file:
        file.write(str1.strip('\n'))
    print("操作成功!")

def change_goods():   # 修改商品价格函数
    while True:
        list_goods = print_list()  # 调用函数 print_list()
        change_num = int(input("请输入您需要修改的商品编号:"))
        change_goods = list_goods[change_num-1]
        change_good2 = change_goods.split(',')
        change_price = int(input("请输入商品的价格:"))
        list_goods[change_num-1] = change_good2[0]+','+change_price.__str__()
        str1 = ""
        for i in list_goods:
            str1 = str1 + i + '\n'
        write_file(str1)  # 调用函数write_file()
        c_to_q = input("继续操作请按'c',按其他任意键退出程序:")
        if c_to_q == 'c':
            continue
        else:
            break

def add_goods():  # 添加商品函数
    while True:
        list_goods = print_list()  # 调用函数 print_list()
        add_name = input("请输入需要增加的商品名称:")
        add_price = int(input("请输入需要增加商品的价格:"))
        add_goods = add_name + ',' + add_price.__str__()
        list_goods.append(add_goods)
        str1 = ""
        for i in list_goods:
            str1 = str1 + i + '\n'
        write_file(str1)  # 调用函数write_file()
        c_or_q = input("继续操作请按'c',按其他任意键退出程序:")
        if c_or_q == 'c':
            continue
        else:
            break

def del_goods():  # 删除商品函数
    while True:
        list_goods = print_list()  # 调用函数 print_list()
        del_num = int(input("请输入需要删除商品的编号:"))
        del_goods = list_goods[del_num -1 ]
        list_goods.remove(del_goods)
        str1 = ""
        for i in list_goods:
                str1 = str1 + i + '\n'
        write_file(str1)   # 调用函数write_file()
        c_or_q = input("继续操作请按'c',按其他任意键退出程序:")
        if c_or_q == 'c':
            continue
        else:
            break

def user():
    balance_file = open("balance.txt", 'a+')
    balance_file.seek(0)
    balance = balance_file.read()
    if balance == "":
        balance = int(input("请输入您的工资:"))
    balance = int(balance)
    pur_list1 = []
    pur_goods = open("pur_goods.txt", 'a+')
    while True:
        print("商品列表".center(50, '-'))
        list_goods = print_list()  # 调用函数 print_list()
        print("你目前账户的余额为:%d" %balance)
        list_num = input("请输入需购买的商品编号,或者输入'Q'退出程序:")
        if list_num.isdigit():
            list_num = int(list_num)
            if list_num > 0 and list_num <= len(list_goods):
                goods_list = list_goods[list_num - 1]
                pur_list2 = goods_list.split(',')
                if balance >= int(pur_list2[1]):
                    balance = balance - int(pur_list2[1])
                    pur_list1.append(pur_list2[0])
                    print("成功购买 %s,花费 %s。剩余金额 %d " % (pur_list2[0], pur_list2[1], balance))
                else:
                    print("余额不足,剩余金额 %d,请重新选择!" % balance)
                    continue
            else:
                print("编号不存在,请重新输入!")
        elif list_num.upper() == 'Q':
            break
        else:
            print("输入错误,请重新输入!")

  str2 = ""
  for i2 in pur_list1:
      str2 = str2 + i2 + '\n'
  pur_goods.write(str2)
  pur_goods.seek(0)
  print("你已购的商品为:\n",pur_goods.read())
  pur_goods.close()
  balance_file.close()
  with open("balance.txt", 'w') as balance_file2:
      balance_file2.write(str(balance))

#---------------------调用部分-----------------------------

while True:
    interface = int(input("输入‘1’登录用户接口,输入‘2’登录商家接口:"))
    if interface == 1:
        user()
        break
    elif interface == 2:
        print("功能列表".center(50,'-'))
        print("1、修改商品价格\n 2、添加新商品\n 3、删除商品\n")
        while True:
            interface2 = int(input("请输入需要使用的功能编号:"))
            if interface2 == 1:
                change_goods()
                exit()
            elif interface2 == 2:
                add_goods()
                exit()
            elif interface2 == 3:
                del_goods()
                exit()
            else:
                print("输入错误,请重新输入!")
    else:
        print("输入错误,请重新输入!")

 

 
posted @ 2016-10-28 11:25  Vincen_shen  阅读(179)  评论(0)    收藏  举报