0 python variables function python-3.x
def valid():
while True:
hiOrLo = input("Type 'h' for higher and 'l' for lower.")
if hiOrLo == "h" or hiOrLo == "l":
return
else:
print("Invalid, try again")
hiOrLo = 0
valid()
print(hiOrLo)
Run Code Online (Sandbox Code Playgroud)
我理解的是Python在while循环中不会通过"input"改变变量,所以当打印时hiOrLo仍然是"0",但我需要hiOrLo为"h"或"l",无论哪一个我选择,如何在保持功能的同时做到这一点?
让函数返回该值,然后保存对它的引用.
def valid():
while True:
hiOrLo = input("Type 'h' for higher and 'l' for lower.")
if hiOrLo == "h" or hiOrLo == "l":
return hiOrLo
else:
print("Invalid, try again")
hiOrLo = valid()
print(hiOrLo)
Run Code Online (Sandbox Code Playgroud)