You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在给定的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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 18:32:09