python_day2

简介:列表操作,元组,购物车程序

1、列表操作

# Author:Er

#列表操作

name = ["name", "age", "hah"]
del name[2]
print("删除del: ", name)

name.remove(name[0])
print("删除remove: ", name)

name.append("li")
print("追加append: ", name)

name.insert(2, "xiong")
print("插入insert: ", name)

name[0] = "info"
print("修改: ", name)

_name = ["my", "name", "is", "er"]
name.extend(_name)
print("扩展extend:", name)

_name_copy = name.copy()
print(_name_copy)

count = name.count("is")
print("is 的个数为:", count)

name.sort()
print("排序sort: ", name)

name.reverse()
print("反转reverse: ", name)

#获取下标
print("er 的下标为: ", name.index("er"))


# 元组  和列表差不多,只是一创建,就不能再修改,只有count,index
names = ("my", "name", "is")
Code

运行结果

E:\PY\venv\Scripts\python.exe E:/PY/day2/list_all.py
删除del:  ['name', 'age']
删除remove:  ['age']
追加append:  ['age', 'li']
插入insert:  ['age', 'li', 'xiong']
修改:  ['info', 'li', 'xiong']
扩展extend: ['info', 'li', 'xiong', 'my', 'name', 'is', 'er']
['info', 'li', 'xiong', 'my', 'name', 'is', 'er']
is 的个数为: 1
排序sort:  ['er', 'info', 'is', 'li', 'my', 'name', 'xiong']
反转reverse:  ['xiong', 'name', 'my', 'li', 'is', 'info', 'er']
er 的下标为:  6

Process finished with exit code 0

  2、复制copy

# Author:Er
import copy
name = ["my", "name", "is", "er", ["li", "xiong", "fei"]]
_name = copy.copy(name)
_name = name[:]
_name = list(name)     # 以上全部为浅复制,只有一层(可以单独改变),第二层里面(一变就全部同时变)(例子的话银行存款)
_name1 = copy.deepcopy(name)  # 深复制
del name[4][0]
print(_name, _name1)
for i, j in enumerate(name):    # 前是编号,后是内容
    print(i, j)

for i in name:
    print(name.index(i), i)
Code

运行结果

E:\PY\venv\Scripts\python.exe E:/PY/day2/new_dir/test.py
['my', 'name', 'is', 'er', ['xiong', 'fei']] ['my', 'name', 'is', 'er', ['li', 'xiong', 'fei']]
0 my
1 name
2 is
3 er
4 ['xiong', 'fei']
0 my
1 name
2 is
3 er
4 ['xiong', 'fei']

Process finished with exit code 0

  

# 关于浅复制的应用
假设A 与B 拥有共同财产 count =[ "name",[余额]]
A = ["A",余额]
B = ["B",余额]
这样A B 可以随时修改姓名,但账户余额因为是由count浅复制而来,消费时count-,但AB 不能更改

  3、购物车

# Author:Er

# 购物车程序
product_list = [
    ("手机", 1699),
    ("电脑", 5000),
    ("手环", 200)
]

shopping_cart = []

salary = input("请输入余额: ")
if salary.isdigit():                # 判断输入是否为数字
    salary = int(salary)
    while True:
        print("**********商品列表**********")
        for _index, item in enumerate(product_list):
            print(_index, item)                   # index 编号   item 列表内容
        print("***************************")
        choice_list = input("请输入购买商品编号:")
        if choice_list.isdigit():
            choice_list = int(choice_list)
            if choice_list < len(product_list):
                if salary >= product_list[choice_list][1]:
                    salary -= product_list[choice_list][1]
                    shopping_cart.append(product_list[choice_list])
                    print("你的当前余额为:", salary)
                else:
                    print("您的当前余额为:%d,余额不足!" % salary)          # 打印格式
            else:
                print("暂无此商品!")                                       # 判断是否退出
        elif choice_list == "q":
            # 打印当前购物车信息
            print("你的当前余额为:", salary)
            print("--------购物车---------")
            for item in shopping_cart:
                print(item)
            print("----------------------")
            exit()                                                          # 退出
        else:
            print("输入错误!请重新输入:")

else:
    print("输入错误!")
Code

运行结果

E:\PY\venv\Scripts\python.exe E:/PY/day2/new_dir/shopping.py
请输入余额: 10000
**********商品列表**********
0 ('手机', 1699)
1 ('电脑', 5000)
2 ('手环', 200)
***************************
请输入购买商品编号:0
你的当前余额为: 8301
**********商品列表**********
0 ('手机', 1699)
1 ('电脑', 5000)
2 ('手环', 200)
***************************
请输入购买商品编号:1
你的当前余额为: 3301
**********商品列表**********
0 ('手机', 1699)
1 ('电脑', 5000)
2 ('手环', 200)
***************************
请输入购买商品编号:5
暂无此商品!
**********商品列表**********
0 ('手机', 1699)
1 ('电脑', 5000)
2 ('手环', 200)
***************************
请输入购买商品编号:3
暂无此商品!
**********商品列表**********
0 ('手机', 1699)
1 ('电脑', 5000)
2 ('手环', 200)
***************************
请输入购买商品编号:q
你的当前余额为: 3301
--------购物车---------
('手机', 1699)
('电脑', 5000)
----------------------

Process finished with exit code 0

  *以上仅供自己复习之用*

猜你喜欢

转载自www.cnblogs.com/BlogOfEr/p/8862541.html
今日推荐