|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 奔跑的少年丶 于 2020-2-7 23:39 编辑
- f1=open("D:\shopping.txt","r")
- money=300
- goods=[]
- goods_list=[]
- g_l=[]
- lis=[]
- i=0
- total=0
- for each_line in f1:
- information=each_line.split()
- goods.append({"name":information[0],"price":information[1]})
- for each_goods in goods:
- print(f"{i+1} {goods[i]['name']} {goods[i]['price']}")
- goods[i]["序号"] = i + 1
- i+=1
- print("n 购物车结算")
- print("q或者Q退出程序")
- while 1:
- num = input("请输入您所选购的商品序号:")
- if num.isdigit():
- for each_new_goods in goods:
- if int(num)==each_new_goods["序号"]:
- print(f"{each_new_goods['name']} {each_new_goods['price']}")
- if each_new_goods['name'] in lis:
- for each in g_l:
- if each_new_goods['name']==each[0]:
- each[2]=each[2]+1
- else:
- lis.append(each_new_goods['name'])
- g_l.append([each_new_goods['name'],each_new_goods['price'],1])
- elif num.lower()=="n":
- for new_g_l in g_l:
- total=total+(int(new_g_l[2])*int(new_g_l[1]))
- while total<money: 当total<money时为什么这段while不执行。。。。
- # print("余额不足,请删除商品")
- del_goods = input("请输入您要删除的商品名称:")
- g_l.remove(del_goods)
- for new_g_l in g_l:
- total = total + (int(new_g_l[2]) * int(new_g_l[1]))
- else:
- print("您已购买成功,敬请等待!!!")
- elif num.upper()=="Q":
- print("您已退出本程序!!!")
- break
- else:
- print("您所输入的商品序号不正确,请重新输入!!!")
- f1=open("D:\list.txt","a")
- for x in g_l:
- x_=f"{x[0]} {x[1]} {x[3]}\n"
- f1.write(x_)
- f1.write(f"总消费金额为{total}")
- f1.close()
复制代码
题目是:
1,完成一个商城购物车的程序。
商品信息在文件存储的,存储形式:
name price
电脑 1999
鼠标 10
游艇 20
美女 998
.......
要求:
1,用户先给自己的账户充钱:比如先充3000元。
2,读取商品信息文件将文件中的数据转化成下面的格式:
goods = [{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
...... ]
3,页面显示 序号 + 商品名称 + 商品价格,如:
1 电脑 1999
2 鼠标 10
…
n 购物车结算
q或者Q退出程序。
4,用户输入选择的商品序号,然后打印商品名称及商品价格,并将此商品,添加到购物车,用户还可继续添加商品。
5,如果用户输入的商品序号有误,则提示输入有误,并重新输入。
6,用户输入n为购物车结算,依次显示用户购物车里面的商品,数量及单价,若充值的钱数不足,则让用户删除某商品,直至可以购买,若充值的钱数充足,则可以直接购买。
7,用户输入Q或者q退出程序。
8,退出程序之后,依次显示用户购买的商品,数量,单价,以及此次共消费多少钱,账户余额多少,并将购买信息写入文件。 |
|