1.
编写程序,设计一个嵌套的字典,形式为{姓名1:{课程名称1:分数1,课程名称2:分数2,……},…},输入一些数据,然后计算每个同学的总分、各科平均分。
2.
设计一个字典里嵌套集合的数据结构,形式为{用户名1:{电影名1,电影名2,…},用户名2:{电影名3,…},……},表示若干用户分别喜欢看的电影名称。往设计好的数据结构中输入一些数据,然后计算并输出爱好最相似的两个人,也就是共同喜欢的电影数量最多的两个人以及这两人共同喜欢的电影名称。
3.
编写程序,程序执行后用户输入任意内容,然后检查是否只包含大小写英文字母,是则输出True,否则输出False。
1
# 创建一个空字典来存储学生成绩
scores = {}
# 输入学生成绩
while True:
name = input("请输入学生姓名:(输入 exit 结束输入)")
if name == 'exit':
break
scores[name] = {}
while True:
course = input("请输入课程名称:(输入 exit 结束输入)")
if course == 'exit':
break
score = float(input("请输入成绩:"))
scores[name][course] = score
# 计算每个学生的总分和平均分
for name in scores:
total_score = sum(scores[name].values())
avg_score = total_score / len(scores[name])
print(f"{name} 的总分是 {total_score:.2f},平均分是 {avg_score:.2f}")
2
# 创建一个空字典来存储用户的喜好数据
users = {}
# 输入用户喜好数据
while True:
username = input("请输入用户名:(输入 exit 结束输入)")
if username == 'exit':
break
movies = set()
while True:
movie = input("请输入喜欢的电影名称:(输入 exit 结束输入)")
if movie == 'exit':
break
movies.add(movie)
users[username] = movies
# 计算爱好最相似的两个人
max_similarity = 0
most_similar_users = []
for username1 in users:
for username2 in users:
if username1 == username2:
continue
similarity = len(users[username1] & users[username2])
if similarity > max_similarity:
max_similarity = similarity
most_similar_users = [username1, username2]
# 输出爱好最相似的两个人及共同喜欢的电影
print(f"爱好最相似的两个人是 {most_similar_users[0]} 和 {most_similar_users[1]},共同喜欢的电影有:")
print(users[most_similar_users[0]] & users[most_similar_users[1]])
3
import re
input_str = input("请输入任意内容:")
if re.match("^[a-zA-Z]*$", input_str):
print(True)
else:
print(False)
"""一组用于表示燃油汽车和电动汽车的类"""
class Car:
"""一次模拟汽车的简单尝试、父类"""
def __init__(self,make,model,year):
"""初始化汽车的属性"""
self.make = make
self.model = model
self.year = year
self.odometer_reading = 0
def get_descriptive_name(self):
"""返回简洁的描述性信息"""
long_name = f"{self.year} {self.make} {self.model}"
return long_name.title()
def read_odometer(self):
"""打印一条指出汽车里程的消息"""
print(f"This car has {self.odometer_reading} miles on it.")
def update_odometer(self,mileage):
"""将里程表读书设置为指定的值。
禁止将里程表读数往回调
"""
if mileage >= self.odometer_reading:
self.odometer_reading = mileage
else:
print("You can't roll back an odometer!")
def increment_odometer(self,miles):
"""将里程表读数增加指定的量。"""
self.odometer_reading += miles
class Battery:
"""一次模拟电动汽车电瓶的简单尝试"""
def __init__(self,battery_size=75):
"""初始化电瓶的属性。"""
self.battery_size = battery_size
def describe_battery(self):
"""打印一条描述电瓶容量的信息。"""
print(f" This car has a {self.battery_size}-kwh battery.")
class ElectricCar(Car):
"""电动汽车的独特之处"""
def __init__(self,make,model,year):
"""
初始化父类的属性。
再初始化电瓶车特有的属性
"""
super().__init__(make,model,year)
self.battery = Battery() #将一个Battery实例作为ElectricCar类的属性
比如我们要导入car模块中的电动车类,则写下一行代码:
from car import ElectriCcar