【问题标题】:How to use and debug conditional statements in Python?如何在 Python 中使用和调试条件语句?
【发布时间】:2017-05-25 00:41:42
【问题描述】:
while True:

    n1 = int(input("Enter first number: "))
    if n1>255:
               print("Invalid input. Sorry the number should be less than 255.")
               continue
    elif n1<255:
               print("The input is valid.")


    n2 = int(input("Enter second number: "))
    if n2>255:
               print("Invalid input. Sorry the second number should be less than 255.")
               continue

    elif n2<255:
               print("The input is valid.")

    break

每当我输入高于 255 的“n2”时,它都会显示输入第一个数字。我希望它显示输入第二个数字。

【问题讨论】:

  • 你还没有弄清楚如何正确使用whilecontinuebreak。通过与他们多玩一些,您可以轻松地自学这一点。
  • 请更改标题以便描述您的问题并且不要使用图片。
  • 这也可能对您有所帮助docs.python.org/3/tutorial/…

标签: python


【解决方案1】:

问题在于第一个if 中的continue 语句。 continue 并不意味着“继续”。这意味着,“忽略 while/for 循环的其余部分,并从下一次迭代中重复”。所以,实际上,下次你在输入提示符下,没有输入n2,你又是在同一行,再次输入n1。删除continue 语句。

看看breakcontinue 语句是如何工作的,它们在所有语言中都几乎相同(至少我知道)

【讨论】:

  • 您的意思是“忽略 while/for 循环的其余部分本次迭代”吗?否则,您引用的文字可能会被误解 - 听起来您正在描述一个循环中断。
  • 对,我试图让它尽可能简单,但它可能会被误解。已编辑
【解决方案2】:

continue 开始整个while 循环:它不会回到最后一个if 语句或类似的东西之前。所以你的第二个continue 有效地重新启动了你的程序。您需要摆脱这个continue,并使用其他方法重做这个输入。

【讨论】:

    猜你喜欢
    • 2021-12-08
    • 2011-11-29
    • 1970-01-01
    • 2020-08-13
    • 2017-03-23
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多