您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

5b51 2022/1/14 8:21:37 python 字数 1966 阅读 525 来源 www.jb51.cc/python

我对python比较陌生,所以我甚至不确定我是否以正确的方式接近它.但我在任何地方都找不到好的解决方案.为了避免非常丑陋和重复的代码,我想循环if语句的elif部分.这是我想修复的丑陋代码:def codeToChar(code): chars = 'QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm'

概述

我对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,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"

只有先前没有执行过先前的返回(即没有匹配的字符),才执行第二次返回.

总结

以上是编程之家为你收集整理的Python:循环遍历if语句的elif部分全部内容,希望文章能够帮你解决Python:循环遍历if语句的elif部分所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶