5 回答

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 中非常重要,因此請正確格式化您的代碼。

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)

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)

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)
添加回答
舉報