如何使while循环分配变量?

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",无论哪一个我选择,如何在保持功能的同时做到这一点?

Tig*_*kT3 7

让函数返回该值,然后保存对它的引用.

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)