Python随笔 day03

列表
列表的索引从0开始
通过切片与步长等可对列表内多个元素进行操作

1.查

  • .count 对列表内某元素进行计数
  • .index 根据元素查找索引

2.增

  • .append() 在列表末尾追加新的元素
  • .insert() 根据输入的索引在相应位置添加元素
  • .extend() 将另一个列表中的元素加入列表 扩展

3.改

-直接对元素进行赋值替换

4.删除

  • remove(“内容”)
  • pop() 通过索引
  • del 为所欲为的删除
  • .clear 清空列表

5.排序

  • sort 对列表进行从小到大的排列
  • reverse 对列表的排序进行倒置

通过之前学习的内容进行的练习:

需求:
用户输入余额
然后展示商品进行购买
通过输入关键字进行购买
购买完成显示当前剩余余额
如果余额不足则不能购买
每次购买单独结算
输入关键字quit退出程序
退出后显示已购买的物品以及余额。

#author:  DELL.cn
#date:    2018/9/4


while True:
    salary = input("请输入工资:")
    if salary.isdigit():
        salary = int(salary)
        print("当前余额为:",salary)
        break
    else:
        print("请输入数字")
        continue

goods = ["iphoneX", "mac book", "coffee", "books"]
price = [8000, 10000, 30, 100]
shopping = []
print("1:",goods[0],"    ",price[0])
print("2:",goods[1],"    ",price[1])
print("3:",goods[2],"    ",price[2])
print("4:",goods[3],"    ",price[3])
print("如需结束购买请输入quit")
while True:
    num = input("请输入所需的商品编号:")
    if num == "quit":
        break
    elif num.isdigit():
        num = int(num)
        if num > 4 or num < 1:
            print("超出购买范围,请输入正确的数字")
            continue
    else:
        print("请输入数字")
        continue
    print("想要购买",goods[num-1],"是吗?")
    affirm = input("请回复y进行确认:")
    if affirm == "y" or affirm == "Y":
        if salary > price[num-1] or salary == price[num-1]:
            print("商品已购买")
            shopping.append(goods[num-1])
            salary = salary - price[num-1]
            print("您剩下余额为:",salary)
        else:
            print("您的余额不足")
print("您本次购买:")
for x in shopping:
    print(x)
print("您的余额为:",salary)
print("欢迎下次光临")

列表可以进行嵌套故 以上的两个列表可以嵌套在一起。

goods = ["iphoneX", "mac book", "coffee", "books"]
price = [8000, 10000, 30, 100]

goods = [["iphoneX",8000], ["mac book",10000], ["coffee", 30], ["books",100]]

之前打印商品列表时多次使用了print,可以使用for循环进行打印。

for a,b in enumerate(goods,1):
    print(a,"  ",b)

enumerate列举列表内的元素,后面的参数为前面的序号。 通过两个变量来接收序号和列表的信息。
优化如下

#author:  DELL.cn
#date:    2018/9/4


while True:
    salary = input("请输入工资:")
    if salary.isdigit():
        salary = int(salary)
        print("当前余额为:",salary)
        break
    else:
        print("请输入数字")
        continue

goods = [["iphoneX",8000], ["mac book",10000], ["coffee", 30], ["books",100]]

shopping = []
for a,b in enumerate(goods,1):
    print(a,"  ",b)
# print("1:",goods[0][0],"    ",goods[0][1])
# print("2:",goods[1][0],"    ",goods[1][1])
# print("3:",goods[2][0],"    ",goods[2][1])
# print("4:",goods[3][0],"    ",goods[3][1])
print("如需结束购买请输入quit")
while True:
    num = input("请输入所需的商品编号:")
    if num == "quit":
        break
    elif num.isdigit():
        num = int(num)
        if num > len(goods) or num < 1:
            print("超出购买范围,请输入正确的数字")
            continue
    else:
        print("请输入数字")
        continue
    print("想要购买",goods[num-1][0],"是吗?")
    affirm = input("请回复y进行确认:")
    if affirm == "y" or affirm == "Y":
        if salary > goods[num-1][1] or salary == goods[num-1][1]:
            print("商品已购买")
            shopping.append(goods[num-1])
            salary = salary - goods[num-1][1]
            print("您剩下余额为:",salary)
        else:
            print("您的余额不足")
print("您本次购买:")
for x,y in enumerate(shopping,1):
    print(x,"  ",y)
print("您的余额为:",salary)
print("欢迎下次光临")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值