Python之路day2---列表,元組操作、字符串操作、字典操作、集合操作、文件操作、字符編碼與轉碼

1.列表、元組操作

列表是我們最以後最常用的數據類型之一,通過列表可以對數據實現最方便的存儲、修改等操作

定義列表

names = ["jack","tom","bob","jerry","bob"]

1.1通過下標訪問列表中的元素,下標從0開始計數

print(names[0])
jack

print(names[1])
tom

print(names[-1])  #倒着取
bob

1.2列表切片

print(names[0:3])    #切片,包頭不包尾
print(names[:3])    #切片,前面不寫默認從0開始,不包尾
print(names[1:])    #切片,從指定的下標開始包尾
print(names[-3:-1])    #從右往左包括尾

1.3列表的增、刪、改、查

1.3.1 增

names.append("majiang")    #在列表的末尾追加
print(names)

names.insert(2,"sewei")    #列表中插入到指定的位置
print(names)

1.3.2 刪

names.remove("bob")    #刪除指定的

del names[1]

names.pop(2)

1.3.3 改

names[2] = "馬江"
print(names)

1.3.4 查

print(names.index("bob"))

1.4 列表擴展

name1 = [1,2,3]

names.extend(name1)     #擴展列表
print(names)

1.5 反轉&排序

names.reverse()    #反轉;在後面打印
names.clear()    #清空數組
names.sort()     #排序;按照ASSIC碼

1.6 列表copy

# Author:jack ma
import copy
names = ["jerry","tony","mj","hsw",["gg","mm"]]

names1 = copy.copy(names)        #淺copy;只copy一層到第二層的時候就只copy內存地址;改names1第二層中的元素時names跟着變

name2 = copy.deepcopy(names)    #深copy,第二層裏面的也會進行copy

for i in names:          #取元素
    print(i)

print(names[0:-1:2])     #設置布長切片0和-1都可以省略不寫(不包尾)
print(names[::2])        #包尾
print(names[:])          #打印所有

1.7 列表刪除

del names

1.8 統計

print(names.count("bob"))  #統計bob在names列表中有多少個

1.9 

元組其實跟列表差不多,也是存一組數,只不是它一旦創建,便不能再修改,所以又叫只讀列表

語法

names = ("alex","jack","eric")

 

1.10 

程序:購物車程序

需求:

  1. 啓動程序後,讓用戶輸入工資,然後打印商品列表
  2. 允許用戶根據商品編號購買商品
  3. 用戶選擇商品後,檢測餘額是否夠,夠就直接扣款,不夠就提醒 
  4. 可隨時退出,退出時,打印已購買商品和餘額
# Author:jack ma
product_list = [
    ("iphone",5800),
    ("mac pro",12000),
    ("bycle",800),
    ("watch",1800),
    ("book",80),
    ("coffe",30)
    ]

shopping_list = []

slary = input("input your slary:")
if slary.isdigit(): #isdigit()  #方法檢測字符串是否只由數字組成。
    slary=int(slary)

while True:
    for dex,itm in enumerate(product_list): #enumerate()函數用於將一個可遍歷的數據對象(如列表、元組或字符串)組合爲一個索引序列,同時列出數據和數據下標,一般用在for循環當中。
        print(dex,itm)
        #print(product_list.index(itm),itm)
    user_choice = input("你要買什麼?>>>:")
    if user_choice.isdigit():
        user_choice=int(user_choice)
        if user_choice < len(product_list) and user_choice >= 0:
            p_itm = product_list[user_choice]
            if p_itm[1] <= slary: #買的起
                shopping_list.append(p_itm)
                slary -= p_itm[1]
                print("Added %s into shopping cart,your current blance: \033[31;1m%s\033[0m" %(p_itm,slary))
            else:
                print("\033[31;1m你的餘額只剩%s還買個毛線\033[0m"%(slary))
        else:
            print("\033[31;1mproduct %s not exist\033[0m"%(user_choice))
    elif user_choice == "q":
        print("-----------shopping list-----------")
        for i in shopping_list:
            print(i)
        print("你的餘額還剩下\033[31;1m%s\033[0m"%(slary))
        exit()
    else:
        print("Invalid options")

 

2. 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章