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

如何让乘法表结果不超过25?Python代码填空求助

Python乘法表函数填空解决方案(结果不超过25)

我需要完成以下Python乘法表函数的填空,要求计算结果不超过25:

def multiplication_table(number):
    multiplier = 1
    while multiplier <= 5:
        result = ___ 
        if ___ :
            break
        print(str(number) + "x" + str(multiplier) + "=" + str(result))
        ___ += 1

multiplication_table(3) 

multiplication_table(5) 

multiplication_table(8) 

尝试的写法及问题

  • 第一种写法:调用multiplication_table(8)时输出全部5次乘积,未实现结果不超过25的要求
def multiplication_table(number):
    multiplier = 1
    while multiplier <= 5:
        result = number * multiplier
        if multiplier > 5:
            break
        print(str(number) + "x" + str(multiplier) + "=" + str(result))
        multiplier += 1

multiplication_table(3) 

multiplication_table(5) 

multiplication_table(8) 
  • 第二种写法:判断逻辑错误,无法限制结果不超过25
def multiplication_table(number):
    multiplier = 1
    while multiplier <= 5:
        result = number * multiplier
        if multiplier > 5 and result >= 25:
            break
        print(str(number) + "x" + str(multiplier) + "=" + str(result))
        multiplier += 1

multiplication_table(3) 

multiplication_table(5) 

multiplication_table(8)
  • 第三种写法:误以为调用multiplication_table(8)时无输出,实际存在部分输出
def multiplication_table(number):
    multiplier = 1
    while multiplier <= 5:
        result = number * multiplier
        if result >= 25:
            break
        print(str(number) + "x" + str(multiplier) + "=" + str(result))
        multiplier += 1

multiplication_table(3) 

multiplication_table(5) 

multiplication_table(8)

错误原因解析

  1. 第一种写法的判断条件multiplier >5完全无效,因为while循环本身已经限制multiplier <=5,永远不会触发break,自然无法限制结果大小。
  2. 第二种写法的multiplier >5 and result >=25逻辑矛盾,同样受限于while循环的条件,multiplier >5永远不成立,break不会执行。
  3. 第三种写法中,multiplication_table(8)实际会输出前3次乘积(8x1=8、8x2=16、8x3=24),第四次计算8*4=32≥25才触发break,并非无输出。

正确填空方案

三个空依次填入:number * multiplier、result > 25、multiplier,完整代码如下:

def multiplication_table(number):
    multiplier = 1
    while multiplier <= 5:
        result = number * multiplier 
        if result > 25 :
            break
        print(str(number) + "x" + str(multiplier) + "=" + str(result))
        multiplier += 1

multiplication_table(3) 
# 输出:
# 3x1=3
# 3x2=6
# 3x3=9
# 3x4=12
# 3x5=15

multiplication_table(5) 
# 输出:
# 5x1=5
# 5x2=10
# 5x3=15
# 5x4=20
# 5x5=25

multiplication_table(8) 
# 输出:
# 8x1=8
# 8x2=16
# 8x3=24

内容的提问来源于stack exchange,提问作者Noah Wright

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 08:10:30