如何解决在不结束程序的情况下中断循环python
我有一本字典,其中包含按键列表和以字符串形式存储在键值对中的文件名。我想检查按下的键是否在词典中,然后打印按下的键和与之关联的文件名。
我的问题是,当我按下一个键后,它会不断循环显示相同的功能,只打印该键。我知道我需要停止它的循环,但是我不知道如何在不使用“ break”或“ return”结束程序的情况下执行此操作。我希望程序结束的唯一条件是按下“ esc”键。
我觉得答案很简单,但我缺少简单的东西,请帮忙。
这是我的代码:
import keyboard
import pygame
# there is more in the dictionary,but it's not much different from what is already pasted here
keys = {"`": "sounds/c2.mp3","1": "sounds/db2.mp3","2": "sounds/d2.mp3",}
key = keyboard.read_key()
def sound():
play = keys.get(key,"")
pygame.mixer.init()
pygame.mixer.music.load(play)
pygame.mixer.music.play()
def keypress():
while True:
if key in keys.keys():
if key != "esc":
print(key)
sound()
else:
break
keypress()
解决方法
我认为您需要在key = keyboard.read_key()
循环内移动while
。 (可能刚好在while True:
之后)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。