请分别用 if...else, switch 语句编写程序,实现如下功能: 使用键盘模拟电子琴实现音节的播放。
时间: 2024-09-27 16:10:05 浏览: 26
C语言中分支结构:if语句、if-else语句和switch语句的使用方法.docx
当需要通过键盘输入模拟电子琴演奏音节时,我们可以使用`if...else`语句和`switch`语句来根据不同键值对应不同的音符。这里我将提供两个简单的示例,一个使用`if...else`链,另一个使用`switch`。
**使用 `if...else` 链**
```python
def play_note(key PressedKey):
notes = {
'A': 60,
'B': 62,
'C': 64,
'D': 65,
'E': 67,
'F': 69,
'G': 71,
}
if PressedKey in notes:
note_frequency = notes[PressedKey]
# 这里可以进一步处理频率并生成声音,实际应用中会涉及到音频处理库
print(f"Playing {PressedKey} at {note_frequency} Hz")
else:
print("Invalid key")
# 示例:用户按'A'键
play_note('A')
```
**使用 `switch` 语句 (Python 不直接支持 switch 语法,但可以用字典代替) **
```python
def play_note(key PressedKey):
notes_map = {
'A': 60,
'B': 62,
'C': 64,
'D': 65,
'E': 67,
'F': 69,
'G': 71,
}
if PressedKey in notes_map:
note_frequency = notes_map[key]
print(f"Playing {PressedKey} at {note_frequency} Hz")
else:
print("Invalid key")
# 示例:用户按'A'键
play_note('A')
```
这两个例子都假设了按键映射到基本音阶上的标准八度音。在实际应用中,可能还需要考虑更多的细节,比如处理全音、半音等,并且通常会配合音乐库来播放真正的音频。
阅读全文