Python判断单词首尾字符匹配的函数逻辑错误如何修复?
问题原因
你的代码报错根源是条件判断顺序错误。函数运行时会从上到下依次匹配条件,且匹配到对应return语句后会直接终止函数运行。当输入的单词同时满足以o开头、以t结尾时,会先命中第一个判断开头的分支,直接返回one,永远不会执行到第三个同时校验两个条件的分支。
修复后代码
def one_two(word): # 优先判断最严格的同时满足两个条件的场景 if word[0] == "o" and word[-1] == "t": return "onetwo" if word[0] == "o": return "one" if word[-1] == "t": return "two" assert (one_two("only") == "one") assert (one_two("cart") == "two") assert (one_two("o+++t") == "onetwo")
调整后三个断言均可正常通过,完全符合需求。
内容的提问来源于stack exchange,提问作者user17144102
相关产品推荐
相关产品推荐

