gpt4 book ai didi

Python:循环遍历 if 语句的 elif 部分

转载 作者:太空狗 更新时间:2023-10-30 01:19:01 26 4
gpt4 key购买 nike

我是 python 的新手,所以我什至不确定我是否以正确的方式处理这个问题。但是我在任何地方都没有找到好的解决方案。

为了避免非常丑陋和重复的代码,我想循环 if 语句的 elif 部分。

这是我要修复的丑陋代码:

def codeToChar(code):
chars = "QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm"

if code == ord(chars[0]): ##### SUPER UGLY
return chars[0]
elif code == ord(chars[1]):
return chars[1]
elif code == ord(chars[2]):
return chars[2]
elif code == ord(chars[3]):
return chars[3]
elif code == ord(chars[4]):
return chars[4]
elif code == ord(chars[5]):
return chars[5]
..... etc .....
else:
return "wat"

如您所见,索引递增 1,因此我认为循环会非常简单。然而,当我尝试下面的方法时,它不起作用,因为这必须被表述为 if、elif、elif、else 语句,而 if 语句并不多。

我失败的尝试:

for x in xrange(0,len(chars)-1):
if code == ord(chars[x]):
return chars[x]
else:
return "wat"

我将如何循环播放它?注意:如果它有任何相关性,我正在使用 curses 模块对此进行编码,为项目构建键盘界面。非常感谢

最佳答案

for c in chars:
if code == ord(c):
return c
return "wat"

第二个 return 只有在之前没有执行过 return 时才会执行(即没有匹配的字符)。

关于Python:循环遍历 if 语句的 elif 部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50320803/

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