亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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 關注
  • 224 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號