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)
添加回答
举报