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循环中的情况不正确?
答案 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)