如何将函数用作while循环条件?

时间:2015-04-07 12:48:42

标签: python loops while-loop

我有以下代码:

def funct():
    print("beggining function")
    a = int(input)
    if a == 1:
        return True
    else:
        return False

while funct():
    #Rest of the code

每次while循环重复执行该函数时,都会打印“beggining function”。我想避免这种情况,我该怎么办?

2 个答案:

答案 0 :(得分:3)

while <condition>循环的工作原理如下:

  1. 检查condition
  2. 如果condition的计算结果为True,则会执行一次即将执行的代码。然后它会回到1。
  3. 如果condition的评估结果为False,则会跳过即将发布的代码并完成剩下的代码。
  4. 所以你在这里看到的是while工作的预期方式。

    要防止每次打印此标题,只需将其移出while

    即可
    def funct():
        a = int(input)
        if a == 1:
            return True
        return False    # no need to check anymore
    
    print("beggining function")  # here
    while funct():
        #Rest of the code
    

答案 1 :(得分:0)

尝试这个

def funct():
    print("beggining function")
    a = int(input())
    if a == 1:
        return True
    else:
        return False
while funct() == 1:
    funct()

你输入输入1循环将继续......