1. 程式人生 > 實用技巧 >直播3-列表-字典-集合

直播3-列表-字典-集合

# 隨機分配老師到辦公室
import random

teachers = ['a', 'b', 'c', 'd', 'e']
offices = [[], [], []]
for name in teachers:
    num = random.randint(0, 2)
    offices[num].append(name)

# 驗證是否成功
i = 1
for o in offices:
    print(f'辦公室{i}人數是{len(o)},老師分別是:', end=' ')
    for name in o:
        print(name, end='    '
) print() i += 1 # 不能讓辦公室為o,讓i為辦公室不嚴謹,最後都為4了。但思想很好,能省一個就省一個。 # 練習題1:有一個list1 = [1,2,3,4,3],請完成去重複的功能,並且最後依然是列表。 list1 = [1, 2, 3, 4, 3] # 方法1. print(list(set(list1))) # 方法2. list2 = [] for i in list1: if i not in list2: list2.append(i) print(list2) # 練習題2:小明一共有8000塊錢,編寫程式碼, 判斷小明能不能買下購物車中所有商品?如果能,請輸出“能”,否則輸出“不能”。
product = [ {"name": "電腦", "price": 7000}, {"name": "滑鼠", "price": 30}, {"name": "usb電動小風扇", "price": 1020}, {"name": "遮陽傘", "price": 50}] i = 0 sum = 0 for i in product: sum += i["price"] if sum < 8000: print("ok") else: print("不能") # 練習題3:找出同名同姓的學員, 並計算出相同姓名的個數 str1 = '哈哈, 小劉, da, da ,fe ,rere, yrte, or,weqw, dfsa
' name_list = str1.split(",") # 列表、集合方法實現 set1 = set() for i in name_list: if name_list.count(i) > 1: set1.add(i) for name in set1: print(name, name_list.count(name)) # 字典方法實現1 new_list = list(name_list) dict1 = {} for i in new_list: if new_list.count(i) > 1: dict1[i] = new_list.count(i) print(dict1) # 字典方法實現2 name_dict = {} for name in name_list: if name not in name_dict: name_dict[name] = 1 else: name_dict[name] += 1 for key, value in name_dict.items(): if value > 1: print(key, value)