一个使用Python编写的简单音乐器

```python
import winsound
import time

# 定义钢琴键的频率
C = 262 # C
D = 294 # D
E = 330 # E
F = 349 # F
G = 392 # G
A = 440 # A
B = 494 # B
C1 = 523 # C1

# 列出八度低到高的大小调中的音符
notes = [C, C + 1, D, D + 1, E, F, F + 1, G, G + 1, A, A + 1, B, C1, C1 + 1]

# 演奏乐曲
def playMusic(music):
    # 遍历乐曲的每个音符,按照其频率和时长发出声响
    for note in music:
        # 通过winsound库中的Beep函数实现声音播放,第一个参数是频率,第二个参数是持续时间,以毫秒为单位
        winsound.Beep(note[0], note[1] * 1000)
        # 每个音符之间停顿200毫秒
        time.sleep(0.2)

# 定义乐曲
music = [
    (C, 1), (D, 1), (E, 1), (F, 1), (G, 1), (A, 1), (B, 1), (C1, 1), 
    (C, 1), (B, 1), (A, 1), (G, 1), (F, 1), (E, 1), (D, 1), (C, 1),
    (C1, 1), (B, 1), (A, 1), (G, 1), (F, 1), (E, 1), (D, 1), (C, 1),
]

# 演奏乐曲
playMusic(music)
```

这段代码定义了钢琴键的频率和一个乐曲列表,

然后通过遍历乐曲列表,并通过winsound库中的Beep函数实现声音播放,最终通过playMusic函数演奏乐曲。

你可以根据自己的需要修改乐曲或添加其他乐器。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值