案例1:统计单词频率

编写一个程序,统计一段文本中每个单词出现的频率。

def count_word_frequency(text):
    words = text.split()
    word_count = {}

    for word in words:
        word = word.lower()  # 忽略大小写
        word = word.strip('.,!?;')  # 去除标点符号
        if word in word_count:
            word_count[word] += 1
        else:
            word_count[word] = 1

    return word_count

# 示例用法
text = "Hello world! This is a test. Hello again, world!"
word_count = count_word_frequency(text)
print(word_count)

输出: {'hello': 2, 'world': 2, 'this': 1, 'is': 1, 'a': 1, 'test': 1, 'again': 1}


案例2:学生成绩管理系统

编写一个程序,管理学生的成绩。程序应当支持添加学生成绩、删除学生、查询学生成绩、以及计算全班平均成绩。

def add_student(grades, name, score):
    grades[name] = score

def remove_student(grades, name):
    if name in grades:
        del grades[name]

def get_student_score(grades, name):
    return grades.get(name, "学生不存在")

def calculate_average_score(grades):
    if not grades:
        return 0
    return sum(grades.values()) / len(grades)

# 示例用法
grades = {}
add_student(grades, "Alice", 85)
add_student(grades, "Bob", 90)
add_student(grades, "Charlie", 78)

print(get_student_score(grades, "Alice"))  # 输出: 85
print(get_student_score(grades, "David"))  # 输出: 学生不存在

remove_student(grades, "Bob")
print(grades)  # 输出: {'Alice': 85, 'Charlie': 78}

average_score = calculate_average_score(grades)
print(average_score)  # 输出: 81.5

案例3:购物车系统

编写一个程序,模拟购物车系统。程序应当支持添加商品、删除商品、查询购物车内容、以及计算总价。

def add_to_cart(cart, item, price):
    if item in cart:
        cart[item] += price
    else:
        cart[item] = price

def remove_from_cart(cart, item):
    if item in cart:
        del cart[item]

def get_cart_contents(cart):
    return cart

def calculate_total(cart):
    return sum(cart.values())

# 示例用法
cart = {}
add_to_cart(cart, "apple", 1.5)
add_to_cart(cart, "banana", 2.0)
add_to_cart(cart, "orange", 3.0)

print(get_cart_contents(cart))  # 输出: {'apple': 1.5, 'banana': 2.0, 'orange': 3.0}

remove_from_cart(cart, "banana")
print(get_cart_contents(cart))  # 输出: {'apple': 1.5, 'orange': 3.0}

total = calculate_total(cart)
print(total)  # 输出: 4.5

案例4:联系人管理系统

编写一个程序,管理联系人信息。程序应当支持添加联系人、删除联系人、查询联系人、以及显示所有联系人。

def add_contact(contacts, name, phone):
    contacts[name] = phone

def remove_contact(contacts, name):
    if name in contacts:
        del contacts[name]

def get_contact(contacts, name):
    return contacts.get(name, "联系人不存在")

def display_all_contacts(contacts):
    return contacts

# 示例用法
contacts = {}
add_contact(contacts, "Alice", "123-456-7890")
add_contact(contacts, "Bob", "234-567-8901")
add_contact(contacts, "Charlie", "345-678-9012")

print(get_contact(contacts, "Alice"))  # 输出: 123-456-7890
print(get_contact(contacts, "David"))  # 输出: 联系人不存在

remove_contact(contacts, "Bob")
print(display_all_contacts(contacts))  # 输出: {'Alice': '123-456-7890', 'Charlie': '345-678-9012'}

这些案例涵盖了字典在实际编程中的常见用法。你可以动手实践,修改和扩写