案例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'}
这些案例涵盖了字典在实际编程中的常见用法。你可以动手实践,修改和扩写