While循环并在python中调用函数

时间:2020-05-01 05:57:15

标签: python while-loop

def func(val):

    num = int(input("Enter a number:"))
    while(num!=val):
        if num < val:
            print ("Too low!")
            return -1
            num = int(input("Try again: "))
        elif num > val:
            print ("Too high!")
            return 1
            num = int(input("Try again: "))
        else:
            print ("Got it!!!")
            break
            return 0
        print
    func(20)

使用此代码,它不会循环。它会问我我的电话号码是什么,并让我知道它是否正确,但是它不会再次要求我输入新的电话号码。我在错误的地方调用了函数吗?还是我的while循环中的情况不正确?

5 个答案:

答案 0 :(得分:0)

这是您要寻找的吗?

def func(val):
  while True:
      num = int(input("Enter a number:"))
      if num < val:
          print ("Too low!")
      elif num > val:
          print ("Too high!")
      else:
          print("Got it")
          break
func(20)

答案 1 :(得分:0)

It will never ask you the number again, because you are returning a value in every condition before asking for a number. So it gets out of the loop at the very first time.


# the function can be like this

def func(val):
  while True:
      num = int(input("Enter a number:"))
      if num < val:
          print ("Too low!")
      elif num > val:
          print ("Too high!")
      else:
          print("Got it")
          break
func(20)

答案 2 :(得分:0)

您可以尝试将“ num”行放入while循环中。

答案 3 :(得分:0)

首先,换行符退出循环,在您退出循环的情况下,该函数也退出。 return -1语句退出功能,因此无论您是第一次输入什么,都想获得用户的输入,也不要使用它。 正确的代码如下所示。

def func(val): 
    num = int(input("Enter a number:")) 
    while(num!=val): 
        if num < val: 
            print ("Too low!") 
            num = int(input("Try again: ")) 
        elif num > val: 
            print ("Too high!") 
            num = int(input("Try again: ")) 
        else: 
            print ("Got it!!!") 
            return 0 
func(20)

P.S。标识在Python中非常重要,因此请正确编写代码。

答案 4 :(得分:0)

第二行打印不可用

这是正确的代码:

def func(val):
num = int(input("Enter a number:"))
while(num!=val):
    if num < val:
       print ("Too low!")
       return -1
       num = int(input("Try again: "))
    elif num > val:
       print ("Too high!")
       return 1
       num = int(input("Try again: "))
    else:
       print ("Got it!!!")
       break
       return 0

func(20)