用python解决编写音乐播放器程序。该程序的功能有:显示歌曲列表、播放指定歌曲、停止播放、退出程序。当程序启动时,显示歌曲列表,并等待用户输入歌曲序号;当用户输入歌曲序号并回车时,开始播放歌曲,播放时显示信息为:正在播放第x首歌曲,歌名为:xxxx;当用户输入stop时,停止播放,继续等待用户输入;当用户输入q或Q时,退出程序。(19分)
时间: 2024-02-24 22:00:05 浏览: 17
以下是Python代码实现:
```
import os
# 歌曲列表
songs = ["song1.mp3", "song2.mp3", "song3.mp3"]
# 显示歌曲列表
print("歌曲列表:")
for i, song in enumerate(songs):
print("{}: {}".format(i+1, song))
while True:
# 等待用户输入歌曲序号
choice = input("请输入歌曲序号(输入q退出程序):")
if choice == 'q' or choice == 'Q':
break
try:
# 尝试将用户输入的序号转换为整数
song_idx = int(choice) - 1
if song_idx < 0 or song_idx >= len(songs):
raise ValueError
except ValueError:
print("输入有误,请重新输入!")
continue
# 播放指定歌曲
song_name = songs[song_idx]
print("正在播放第{}首歌曲,歌名为:{}".format(song_idx+1, song_name))
os.system("mpg123 {}".format(song_name)) # 使用mpg123命令播放音乐
print("程序已退出。")
```
程序首先定义了一个歌曲列表`songs`,然后通过`enumerate`函数遍历列表并显示每首歌曲的编号和名称。接着进入一个无限循环,等待用户输入歌曲序号。如果用户输入了q或Q,则退出循环,程序结束。如果用户输入的不是数字或数字不在序号范围内,则提示用户重新输入。如果用户输入的序号正确,则获取该歌曲的名称,并使用`os.system`函数调用`mpg123`命令播放该歌曲。当用户输入stop时,音乐播放器会停止播放,并继续等待用户输入。当用户输入q或Q时,程序退出。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)