gpt4 book ai didi

python - 如何循环一个乏味​​的 if 语句

转载 作者:太空宇宙 更新时间:2023-11-03 12:31:48 25 4
gpt4 key购买 nike

我目前正在尝试制作一个程序,该程序采用 fiddle 乐谱并将给定的音符转换为弦乐上的位置,但我的问题是当我询问琴键是升调还是降调,以及有多少次升调时或降号在调号中 我发现我在做一堆乏味的 if/then 语句,例如:

if keysig == sharp and signum == 2:
note['LE'] == 'D4'
note['SC'] == 'A4'

elif keysig == sharp and signum == 3:
note['LE'] == 'D5'
note['SC'] == 'G2'

您会发现,返回并稍作更改再发表另一条声明会变得非常烦人。我该如何解决这个问题?

对于那些不看乐谱的人:基本上我想说的是,该算法将记录用户输入的音符,例如 A、G 或 D,并将它们转换为 fiddle 指板上的确切位置,这样您就不必手动搜索音符.该程序适用于缺乏乐谱阅读经验的 fiddle 初学者。

最佳答案

你可以使用字典:

transpositions = {
(sharp, 2): {'LE': 'D4', 'SC': 'A4'},
(sharp, 3): {'LE': 'D5', 'SC': 'G2'},
# etc.
}

note.update(transpositions.get((keysig, signum), {}))

这使用 (keysig, signum) 的元组作为键,映射到特定的音符转换。如果没有找到这样的签名,则不进行更新(使用空字典更新)。

关于python - 如何循环一个乏味​​的 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36116988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com