python入门之实例-购买商品

需求:

  选择商品,结算所选的商品

#目前总资产
asset_all = 0
#所选商品总价
all_price = 0
#购物车列表,目前已选择商品
#每个元素的结构:"商品名":{'price':"单个商品价格",'num':"购买数量"}
car_dict = {}

i1 = input("请输入总资产:")
asset_all += int(i1)

goods = [
    {"name":"电脑","price":1999},
    {"name":"鼠标","price":50},
    {"name":"键盘","price":40},
    {"name":"U盘","price":20}
]
#循环输出商品信息
for k,i in enumerate(goods,1):
    print(k,i['name'],i['price'])

#选择商品将其加入购物车
while True:
    i2 = input("请选择商品(q结算):")
    if i2.lower() == 'q':
        break
    i2 -= 1
    name = goods[i2]["name"]
    price = goods[i2]["price"]
    if name in car_dict.keys():
        car_dict[name]["num"] += 1
    else:
        car_dict[name] = {"price":price,"num":1}

#计算购物车里所有商品的总价格
for i,j in car_dict.items():
    p = j["price"]
    n = j["num"]
    all_sum = p * n
    all_price += all_sum

#判断是否能购买商品
if all_price > asset_all:
    print("余额不足,请充值")
else:
    asset_all -= all_price
    print("购买成功")
    car_dict.clear()

 

转载于:https://www.cnblogs.com/chy-op/p/9864019.html

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
封装是面向对象编程中的一个重要概念,它主要是指将数据和行为封装在一起,形成一个类,并对外提供接口,隐藏实现细节,保证数据安全性和代码可维护性。 Python中的封装主要通过访问权限控制实现。在Python中,属性和方法都有其对应的访问权限,主要有公有、私有和受保护三种。 公有属性和方法可以被类内部和外部访问,私有属性和方法只能在类内部访问,受保护属性和方法也只能在类内部和子类中访问。 下面通过一个例子来说明Python中如何进行封装。 ```python class Person: def __init__(self, name, age): self.__name = name # 私有属性 self.__age = age # 私有属性 def say_hello(self): print("Hello, my name is %s, and I'm %d years old." % (self.__name, self.__age)) def set_age(self, age): if age < 0 or age > 150: print("Invalid age!") else: self.__age = age # 修改私有属性 p = Person("Tom", 20) p.say_hello() # 输出:Hello, my name is Tom, and I'm 20 years old. p.__name # 报错:AttributeError: 'Person' object has no attribute '__name' p.set_age(200) # 输出:Invalid age! ``` 在上面的例子中,我们定义了一个Person类,其中包含了两个私有属性__name和__age,以及一个公有方法say_hello和一个受保护方法set_age。这样,外部就无法直接访问__name和__age属性,只能通过调用say_hello方法来输出实例的信息。同时,set_age方法可以修改私有属性__age,但是它会对输入的年龄进行检查,保证数据的合法性。 可以看出,Python中的封装通过访问权限控制实现,可以保证数据的安全性和代码的可维护性。在实际开发中,我们应该尽量使用封装来保护数据,防止出现意外错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值