首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我怎样才能阻止结果超过25?

我怎样才能阻止结果超过25?
EN

Stack Overflow用户
提问于 2022-11-02 23:28:29
回答 1查看 44关注 0票数 0
代码语言:javascript
复制
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) 

我应该填空的。

代码语言:javascript
复制
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) 

当我运行这个程序时,我可以让multiplication_table正确运行,而第三个则运行全部5个数字*乘法器。我尝试了几个变量,但它们都忽略了输入到25,所以我把它输入到不被读取的位置,这样我就能理解这个问题了:

代码语言:javascript
复制
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)

或者我会得到“没有输出”,但我不明白为什么:

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-02 23:54:29

我想以你的问题不十分清楚的事实作为我的回答的开头。在提供任何代码片段或任何尝试的解决方案之前,首先应该充分定义问题,并解释可接受的答案所包含的内容。不管怎样,我会回答你们三次尝试中的每一次:

  1. 您选择了中断循环if multiplier > 5。这实际上一事无成!than循环条件已经保证,如果multiplier不小于或等于5,则循环将结束。因此,您的if条件永远不会为真。

  1. 您的第二个中断条件与第一次尝试有相同的问题。and语句的左侧将永远不会为真。

  1. 从你的问题中可以看出,这个答案似乎是最接近正确的。这是我在运行第三次尝试时得到的输出:

3x1=3 3x2=6 3x3=9 3x4=12 3x5=15 5x1=5 5x2=10 5x3=15 5x4=20 8x1=8 8x2=16 8x3=24

我相信您不认为这是正确的解决方案,因为程序跳过了"5x5",这将使等于不超过 25。

发生这种情况是因为您的条件是破坏if result >= 25

二进制运算符>=表示大于OR等于。"5x5“是25,等于25,所以程序脱离了循环。

您要寻找的运算符是>,它只意味着大于。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74296658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档