购物车的面向对象做法(一部分功能)

1.建立一个登录类,具有账号密码的属性,设置登录页面,实现登录退出功能

class Register:
    def __init__(self,username='1',password='1'):
        self.id=id
        self.username=username
        self.password=password

    def welcome(self):
        print(' '*10,'------欢迎进入手机淘宝------')
        print(' '*5,'***** 1.登录 *****')
        print(' '*5,'***** 2.退出 *****')

    def login_interface(self):
        id=input("请输入功能编号:")
        if int(id)==1:
            username=int(input("请输入用户名:"))
            password=int(input("请输入密码:"))
            if username==1 and password==1:
                return True
            return False
        elif int(id)==2:
                print('退出购物商城。')
                quit()

2.建立商品类

class Sale:
    shopping_commodity_hot= []
    food_tea = []
    price=0
    def bianhao(self):
        print(' ' * 10, '------欢迎进入手机淘宝------')
        print(' ' * 5, '***** 1.今日特卖 *****')
        print(' ' * 5, '***** 2.美食茶酒 *****')
        print(' ' * 5, '***** 3.结算 *****')
        num=int(input("请输入您要查看的商品类型编号:"))
        if num==1:
            print("***** 1.毛衫连衣裙 59元 *****")
            print("***** 2.运动鞋 69元 *****")
            print("***** 3.风衣 99元 *****")
            print('请选择商品加入购物车。 ')
            num=int(input("请选择你要购买物品的编号:"))
            if num==1:
                Sale.shopping_commodity_hot.append('毛衫连衣裙 59元')
                Sale.price+=59
            if num==2:
                Sale.shopping_commodity_hot.append('运动鞋 69元')
                Sale.price +=69
            if num==3:
                Sale.shopping_commodity_hot.append('风衣 99元')
                Sale.price +=99
            whether = input("是否继续购买(y/n):")
            if whether == 'y':
                self.bianhao()
            elif whether == 'n':
                print('当前购物车中的商品有:')
                for i in Sale.shopping_commodity_hot:
                    print(i)
                for j in Sale.food_tea:
                    print(j)
                fanhui = input("请输入n返回上一级:")
                if fanhui == 'n':
                    self.bianhao()
                else:
                    print('没有该操作。')
                    self.bianhao()
        elif num==2:
            print("***** 1.柠檬 29元 *****")
            print("***** 2.零食大礼包 69元 *****")
            print("***** 3.咖啡 49元 *****")
            num=int(input("请选择你要购买物品的编号:"))
            if num==1:
                Sale.food_tea.append('柠檬 29元')
                Sale.price +=29
            if num==2:
                Sale.food_tea.append('零食大礼包 69元')
                Sale.price +=69
            if num==3:
                Sale.food_tea.append('咖啡 49元')
                Sale.price +=49
            whether = input("是否继续购买(y/n):")
            if whether == 'y':
                self.bianhao()
            elif whether=='n':
                print('当前购物车中的商品有:')
                for i in Sale.shopping_commodity_hot:
                    print(i)
                for j in Sale.food_tea:
                    print(j)
                fanhui=input("请输入n返回上一级:")
                if fanhui=='n':
                    self.bianhao()
                else:
                    print('没有该操作。')
                    self.bianhao()
        elif num==3:
            for i in Sale.shopping_commodity_hot:
                print('现在购物车中有:{}'.format(i))
            for j in Sale.food_tea:
                print(j)
            print('共需花费{}元'.format(Sale.price))
        else:
            print('没有该操作!!!')

3.建立运行页面,登录机会设置3次,都错误强制退出

from register import Register
from sale import Sale


if __name__=='__main__':
    r=Register()
    s=Sale()
    # 记录登录失败机会
    chance = 0
    n=True
    while n:
        r.welcome()
        if r.login_interface():
            print('登录成功。')
            n=False
        else:
            print('账号或密码错误,请从新输入')
            chance+=1
        if chance==3:
            print('密码输入错误3次,禁止登录。')
            break
        s.bianhao()
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值