Python 歌手打分系统教程
在这个教程中,我们将逐步构建一个简单的“歌手打分系统”。本系统将允许用户为歌手的表现给出分数,并计算每个歌手的平均分数。这是一个面向初学者的项目,有助于你熟悉 Python 编程的基本概念及其应用。
流程概述
首先,让我们看一下实现这个系统的步骤。以下是一个简洁的流程表:
步骤 | 描述 |
---|---|
1 | 创建歌手列表 |
2 | 输入每个歌手的得分 |
3 | 计算每个歌手的平均分 |
4 | 显示每个歌手的得分与平均分信息 |
5 | 提供退出功能 |
每一步骤详细说明
接下来,我们将详细介绍每一步所需的代码和命令。
步骤 1: 创建歌手列表
# 创建包含歌手名字的列表
singers = ["Taylor Swift", "Ed Sheeran", "Adele", "Bruno Mars", "Beyoncé"]
# 打印歌手列表
print("歌手列表:")
for index, singer in enumerate(singers, start=1):
print(f"{index}. {singer}")
- 这里我们使用了一个列表
singers
来存储歌手的名字。 enumerate
函数将返回带有索引的列表项,我们在打印时加了start=1
,这样索引从1开始,更易于展示。
步骤 2: 输入每个歌手的得分
# 初始化一个空字典,用于存储歌手及其对应得分
scores = {}
# 循环遍历歌手列表,获取用户输入的分数
for singer in singers:
while True:
try:
score = float(input(f"请输入对'{singer}'的评分 (0-10): "))
if 0 <= score <= 10:
scores[singer] = score
break
else:
print("评分必须在0到10之间,请重新输入。")
except ValueError:
print("无效输入,请输入数字。")
- 我们使用一个字典
scores
来存储歌手及其得分。 - 使用
input()
函数获取用户为每个歌手输入的得分,并且使用try-except
块来处理用户可能输入的错误(如非数字)。 - 通过
if
条件确保评分在 0 到 10 的范围内。
步骤 3: 计算每个歌手的平均分
# 计算平均分
average_score = sum(scores.values()) / len(scores)
# 打印平均分
print(f"\n平均评分: {average_score:.2f}")
- 使用
sum(scores.values())
计算总分,再除以len(scores)
计算得出平均分。 - 注意这里格式化输出的分数,保留两位小数。
步骤 4: 显示每个歌手的得分与平均分信息
# 打印每个歌手的得分
print("\n每个歌手的得分:")
for singer, score in scores.items():
print(f"{singer}: {score:.2f}")
- 使用
scores.items()
将歌手和对应得分遍历输出。
步骤 5: 提供退出功能
# 提供退出选项
exit_choice = input("\n您想要退出吗?(yes/no): ")
if exit_choice.lower() == 'yes':
print("感谢使用歌手打分系统,再见!")
else:
print("您选择继续使用系统。")
- 可以询问用户是否希望退出系统,通过简单的条件判断进行处理。
完整代码示例
我们将上述所有步骤整合在一起,形成一个完整的程序。以下是最终的代码:
# 创建包含歌手名字的列表
singers = ["Taylor Swift", "Ed Sheeran", "Adele", "Bruno Mars", "Beyoncé"]
# 打印歌手列表
print("歌手列表:")
for index, singer in enumerate(singers, start=1):
print(f"{index}. {singer}")
# 初始化一个空字典,用于存储歌手及其对应得分
scores = {}
# 循环遍历歌手列表,获取用户输入的分数
for singer in singers:
while True:
try:
score = float(input(f"请输入对'{singer}'的评分 (0-10): "))
if 0 <= score <= 10:
scores[singer] = score
break
else:
print("评分必须在0到10之间,请重新输入。")
except ValueError:
print("无效输入,请输入数字。")
# 计算平均分
average_score = sum(scores.values()) / len(scores)
# 打印平均分
print(f"\n平均评分: {average_score:.2f}")
# 打印每个歌手的得分
print("\n每个歌手的得分:")
for singer, score in scores.items():
print(f"{singer}: {score:.2f}")
# 提供退出选项
exit_choice = input("\n您想要退出吗?(yes/no): ")
if exit_choice.lower() == 'yes':
print("感谢使用歌手打分系统,再见!")
else:
print("您选择继续使用系统。")
小结
通过以上步骤,我们成功地构建了一个简单的歌手打分系统!这个项目不仅让你学习了 Python 的基本语法,也让你对数据结构(如列表和字典)有了更深入的理解。如果你想进一步扩展功能,可以考虑以下几点:
- 让用户能够多次为同一歌手打分并计算新平均分。
- 添加图形用户界面(GUI),使其更加用户友好。
- 将分数存储到文件中,以便于后续使用。
希望这个项目能激发你对编程的兴趣,并为你在编程的旅程上更进一步迈出坚实的一步!