繁体   English   中英

如何在 Python 中正确地将 for 循环嵌套到 while 循环中

[英]How to properly nest a for loop into a while loop in Python

所以我正在学习 python 并且有些事情困扰着我。 对于下面的示例代码块:

print("Test")

while True:
    print("statement0")

    x = input()
    print(x)

    if x == 1:
        print("statement1")
        y += input()
        print(y)

    elif x == 2:
        print("statement2")
        y += input()
        print(y)
    elif x == 3:
        print("statement3")
        y += input()
        print(y)
    elif x == 4:
        print("statement4")
        break

if 语句似乎无法执行。 打印 x 的值后,它将循环回到 statement0。

您必须首先指定变量 x 的数据类型。

  • 现在,当您将 x 等同于整数时,您需要在input() function 之前添加int
  • 另外,你之前没有初始化变量y ,所以 python 会抛出一个错误。 使用任何 integer 值预先定义y
  • 并尽量将表达式保留在括号内,因为它有助于更容易理解。

因此,您的最终代码变为:

print("Test")

while True:
    print("statement0")

    x = int(input())
    print(x)

    y = 0  # initialize y with any value 

    if (x == 1):  # edit
        print("statement1")
        y += int(input())
        print(y)

    elif (x == 2):  # edit
        print("statement2")
        y += int(input())
        print(y)
    elif (x == 3):  # edit
        print("statement3")
        y += int(input())
        print(y)
    elif (x == 4):  # edit
        print("statement4")
        break

在接受输入时,使用x = int(input())

而且,在这种情况下 y 也没有定义,在做类似y+=int(input())之前,你必须在上面声明 y 像y = 0

谢谢!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM