为了账号安全,请及时绑定邮箱和手机立即绑定

While循环并在python中调用函数

While循环并在python中调用函数

皈依舞 2022-11-01 15:17:48
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 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

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



查看完整回答
反对 回复 2022-11-01
?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

首先,断线退出循环,在你的情况下,当循环退出时,函数也退出。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)

PS Identation 在 Python 中非常重要,因此请正确格式化您的代码。


查看完整回答
反对 回复 2022-11-01
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

这是你想要的?


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)


查看完整回答
反对 回复 2022-11-01
?
RISEBY

TA贡献1856条经验 获得超5个赞

倒数第二行打印不可用,


这是正确的代码:


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)


查看完整回答
反对 回复 2022-11-01
?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

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)


查看完整回答
反对 回复 2022-11-01
  • 5 回答
  • 0 关注
  • 258 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号