Python字符串长度判断函数实现与城市名称筛选代码修正问询
修正Python代码并完成指定开发任务
咱们先梳理下现有代码的问题:
- 原函数
is_large的设计完全不符合需求:它本该接收单个字符串参数判断长度,结果错误地做了遍历逻辑,而且第一次循环就直接返回值,根本无法正确完成长度判断。 - 调用代码没有将输入的字符串分割为城市列表,也没用到列表推导式来筛选符合条件的城市。
下面是完全符合任务要求的修正代码:
# 任务1:定义判断字符串长度的函数 def is_large(city): # 字符串长度≥6返回True,否则返回False return len(city) >= 6 # 任务2:读取输入并筛选符合条件的城市 # 读取输入行,按空格分割为城市名称列表 cities = input().split() # 列表推导式结合is_large函数筛选目标城市 filtered_cities = [city for city in cities if is_large(city)] # 按空格连接结果并输出 print(' '.join(filtered_cities))
当输入为London Paris Nant Munich Krakow时,输出结果就是London Munich Krakow,完美匹配你的期望。
再简单说下修正思路:
- 重构
is_large函数:聚焦单个字符串的长度判断,逻辑简洁直接,完全满足任务1的要求。 - 处理输入与筛选:用
split()把输入的整行文本拆成独立的城市列表,再通过列表推导式逐个校验每个城市,留下长度达标项。 - 输出格式化:用
join()把筛选后的列表转为空格分隔的字符串,输出格式和期望一致。
内容的提问来源于stack exchange,提问作者Andrey Petrus
相关产品推荐
相关产品推荐

