【发布时间】:2017-02-02 23:44:19
【问题描述】:
我对 python 的经验很少,我相信我的标题甚至是不正确的措辞。我有一个程序,当您键入一个键列表并按 Enter 时,它会播放一个音符。但是,要使其正常工作,您需要在每个键之间按空格键。我想让它接受说 eflkjh 而不是 e f l k j h。我该怎么做?
soundBinary = input(" > ")
for note in soundBinary.split():
if note == "q": #rest
freq = 37
elif note == "w": #b
freq = 280
elif note == "e": #b
freq = 300
elif note == "r": #b
freq = 320
elif note == "t": #b
freq = 340
elif note == "y": #b
freq = 360
elif note == "u": #b
freq = 380
elif note == "i": #b
freq = 400
elif note == "o": #b
freq = 440
elif note == "p": #b
freq = 460
elif note == "a": #b
freq = 480
elif note == "s": #b
freq = 500
elif note == "d": #b
freq = 520
elif note == "f": #b
freq = 540
elif note == "g": #b
freq = 560
elif note == "h": #b
freq = 580
elif note == "j": #high c
freq = 600
elif note == "k": #low c
freq = 620
elif note == "l": #d
freq = 640
elif note == "z": #e
freq = 660
elif note == "x": #f
freq = 680
elif note == "c": #g
freq = 700
elif note == "v": #a
freq = 720
elif note == "b": #b
freq = 740
elif note == "n": #b
freq = 760
elif note == "m": #b
freq = 780
winsound.Beep(freq, rate)
【问题讨论】:
-
如果不想要空格,为什么要在它们上面分割字符串?
-
您输入的每个字母都必须沿整个列表级联,直到找到
True的条件。用字典肯定会更好。
标签: python string audio input space