如何在给定的Python函数中使用循环输出指定序列结果?
问题描述
已定义如下Python函数:
def six_by_seven(n): if n % 42 == 0: return "Universe" if n % 7 == 0: return "Good" if n % 6 == 0: return "Food" else: return "Oops"
需要使用循环(曾尝试for/while循环未成功)输出从1到100每个数字对应的函数返回值,输出格式示例:
1 Oops 2 Oops ... 6 Food 7 Good ... 42 Universe ... 100 Oops
实现方法
方法1:外部循环调用原函数
保留原函数逻辑不变,在函数外部通过for循环遍历1到100的数字,逐个调用函数并输出结果:
def six_by_seven(n): if n % 42 == 0: return "Universe" if n % 7 == 0: return "Good" if n % 6 == 0: return "Food" else: return "Oops" # 遍历1到100的数字 for num in range(1, 101): print(f"{num} {six_by_seven(num)}")
方法2:函数内部嵌入循环
如果要把循环逻辑整合到函数内部,可以调整函数结构,让它直接完成循环和输出:
def six_by_seven(): # 使用while循环遍历1到100 num = 1 while num <= 100: if num % 42 == 0: result = "Universe" elif num % 7 == 0: result = "Good" elif num % 6 == 0: result = "Food" else: result = "Oops" print(f"{num} {result}") num += 1 # 调用函数即可输出所有结果 six_by_seven()
注意事项
- 原函数中
n % 42 == 0的判断必须放在最前面,因为42是6和7的公倍数,如果放在后面会被%7或%6的判断优先触发,导致错误结果。 for循环更适合遍历固定范围的场景,代码更简洁;while循环则适合需要手动控制计数变量的场景,两种方式都能满足需求。
内容的提问来源于stack exchange,提问作者Hamza K
相关产品推荐
相关产品推荐

