5 回答

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超8個贊
首先,斷線退出循環(huán),在你的情況下,當(dāng)循環(huán)退出時,函數(shù)也退出。return -1語句退出函數(shù),所以如果你想獲得用戶的輸入,無論用戶第一次輸入什么等等,你都不應(yīng)該使用它。正確的代碼將如下所示。
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貢獻(xiàn)1835條經(jīng)驗(yàn) 獲得超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貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個贊
倒數(shù)第二行打印不可用,
這是正確的代碼:
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貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超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)
添加回答
舉報