如何获取给定Python自定义pair函数的对应输出结果
原有函数运行逻辑说明
- 遍历逻辑错误:for循环遍历字符串时,
ch每次取的是单个字符,而判断条件中的'HLL'/'EO'/'WORL'均为多字符字符串,这三个判断条件永远无法触发,只有ch == "D"有概率触发(仅当传入字符串的第一个字符是大写D时) - 分支逻辑缺陷:所有判断分支均使用
return语句,函数只要进入第一次循环就会直接退出,后续循环、print(count)语句永远不会执行,count变量没有实际作用 - 参数命名不规范:
str是Python内置字符串类型名,作为参数名会覆盖内置对象,属于不规范写法 - 原有函数实际输出规则:只要传入字符串的第一个字符不是大写D,就固定返回
Hello World;如果第一个字符是大写D,返回Bob
正确实现及获取输出的方法
如果你的需求是匹配完整输入字符串,可将代码修改为:
def pair(input_str): if input_str == 'HLL': return "Alice" if input_str == 'EO': return "Bob" if input_str == "WORL": return "Alice" if input_str == "D": return "Bob" else: return "Hello World" # 调用获取输出示例 print(pair("HLL")) # 输出Alice print(pair("EO")) # 输出Bob print(pair("abc")) # 输出Hello World
如果你的需求是匹配输入字符串中包含的子串,可将代码修改为:
def pair(input_str): if 'HLL' in input_str: return "Alice" if 'EO' in input_str: return "Bob" if "WORL" in input_str: return "Alice" if "D" in input_str: return "Bob" else: return "Hello World"
如果需要打印count变量,要将打印语句放在return之前,否则永远不会执行。
内容的提问来源于stack exchange,提问作者Gung Jaya
相关产品推荐
相关产品推荐

