如何使用Python查找1500-2700区间内可被7整除且为5倍数的数字
代码问题排查及修正
现存问题
- 范围取值错误:Python的
range为左闭右开区间,现有写法无法包含上限值,需将结束参数改为upper_bound + 1以匹配“包含两端”的要求 - 逻辑判断错误:需求是同时满足被7整除、是5的倍数,现有条件写为
i % 5 !=0,完全违背需求,需改为i % 5 == 0;同时打印提示文案也和需求不符,需同步修改 - return缩进错误:
return results写在了for循环内部,程序第一次循环就会直接返回结果,永远只会遍历第一个数,需将return调整到和for循环同级的位置,等遍历完成后再返回结果 - 字符串语法错误:print中的普通字符串中间直接换行,会触发Python语法报错,需将字符串合并为一行或使用合法的跨行写法
修正后完整代码
def find_numbers(lower_bound, upper_bound): results = [] # 调整range结束参数,包含上限值 for i in range(lower_bound, upper_bound + 1): # 修改判断条件为同时被7和5整除 if i % 7 == 0 and i % 5 == 0: results.append(i) # 调整return位置,遍历完成后再返回 return results lower_bound = int(input("请输入搜索下限: ")) upper_bound = int(input("请输入搜索上限: ")) found_numbers = find_numbers(lower_bound, upper_bound) # 修正打印文案和字符串换行问题 print("同时可被7整除且为5的倍数的数字为:\n{}".format(found_numbers))
内容的提问来源于stack exchange,提问作者Olanrewaju Boluwatife
相关产品推荐
相关产品推荐

