python 基础应用5-简单购物车

1、列表去重

#列表去重
li = [1,2,33,33,2,1,4,5,6,6]
set1 = set(li)# 转为集合
li = list(set1)# 转为列表
print(li)#[1, 2, 33, 4, 5, 6]

2、删除所含输入字母或数字的键值对

#删除所含输入字母或数字的键值对
dic = {'k1':1,'k2':2,'j1':3,'j2':4}
l = []
print(dic)
s = input('输入所需删键值对中所含字母或数字:')
for i in dic:
    if s in i:
        l.append(i)
for i in l:
    dic.pop(i) #  或 del dic[i]
print(dic)
#输入所需删键值对中所含字母或数字:1
#{'k2': 2, 'j2': 4}

 3、修改文件

with open ('雪花','r',encoding = 'utf-8') as f,open ('雪花.bak','w',encoding = 'utf-8') as f1:
    for line in f:
        if '大白' in line:
            line = line.replace('大白','dabai')
        f1.write(line)
import os
os.remove('雪花')
os.replace('雪花.bak','雪花')

4、完整购物车

username = input('请输入注册账号:')
password = input('请输入注册密码:')
with open('C:\Users\Administrator\Desktop\Python\t.txt', mode='w+', encoding='utf-8') as f:
    f.write("{}
{}".format(username,password))
print('恭喜你注册成功!')
list = []
i = 0
while i <3:
    u_of_you = input("请输入您的账号:")
    p_of_you = input('请输入您的密码:')
    with open('C:\Users\Administrator\Desktop\Python\t.txt', mode='r+', encoding='utf-8') as f:
        for line in f:
            list.append(line)
    if u_of_you ==list[0].strip()  and  p_of_you==list[1].strip():
        print('登录成功!')
        # 购物车
        li = [{'name': '手机', 'price': '1500'},
              {'name': '平板', 'price': '2000'},
              {'name': '电视', 'price': '3000'},
              {'name': '电脑', 'price': '4000'},
              ]
        money_of_you = input('请输入您拥有的金额:')
        surplus = money_of_you
        shopping_car = {}
        while 1:
            if money_of_you.isdigit() and int(money_of_you) > 0:
                for i, j in enumerate(li):
                    print('序号{},名称{},价格{}'.format(i, li[i]['name'], li[i]['price']))
                choose = input('请输入想购买的序号(若退出直接回车):')
                if choose.isdigit() and int(choose) < len(li) and int(choose) >= 0:
                    num = input('需要购买的数量:')
                    if num.isdigit() and int(num) > 0:
                        if int(surplus) > int(li[int(choose)]['price']) * int(num):
                            surplus = int(surplus) - int(li[int(choose)]['price']) * int(num)  # 剩余金额
                            if li[int(choose)]['name'] in shopping_car:  # 将相同的放一起
                                shopping_car[li[int(choose)]['name']] = shopping_car[li[int(choose)]['name']] + int(num)
                            else:
                                shopping_car[li[int(choose)]['name']] = int(num)
                            print('亲爱的{}用户,您购物车商品有{},剩余金额为{}'.format(u_of_you,shopping_car, surplus))
                        else:
                            print('余额不足!')
                            print('亲爱的{}用户,您购物车商品有{},剩余金额为{}'.format(u_of_you,shopping_car, surplus))
                            break
                    else:
                        print('输入数量有误,请重新输入。')
                        continue
                elif choose == '':
                    print('亲爱的{}用户,您购物车商品有{},剩余金额为{}'.format(u_of_you,shopping_car, surplus))
                    break
                else:
                    print('购物车中未有您输入的序号,请重新输入:')
                    continue
            else:
                print('您输入不是金额,请重新输入:')
                continue
    else:
        print('输入错误')
    i += 1
原文地址:https://www.cnblogs.com/2584808136-qq-com/p/12845095.html