【发布时间】:2018-12-04 12:04:53
【问题描述】:
我有以下代码:
def checkUserId(userID):
if userID < 1 or userID > 10:
print(userID)
print("You did not enter a valid ID number. Try again.")
userID = int(input("Enter your ID number."))
print(userID)
checkUserId(userID)
else:
return userID
userID = 0
while userID != "shutdown":
userID = int(input("Enter your ID number."))
checkUserId(userID)
print(userID)
我想要做的就是检查用户 ID 是否在 1 到 10 之间。如果是,那么我们继续。但是由于某种原因,当调用该函数并进行检查时,不会返回 userID 的值(现在输入正确)。而是使用在函数调用之前输入的原始无效值。如果用户输入'11','11'在函数调用后仍将保留用户ID值。运行它看看我的意思。感谢您的帮助。
【问题讨论】:
-
缩进在 Python 中很重要。如果您要发布 Python 代码,请努力准确地重现您的缩进。如果读者必须尝试猜测您的实际缩进,他们可能会错过问题或在程序中引入新问题。
-
您接受
userID作为 int,但您的终止条件是当userID为“关闭”时。如果你接受它作为一个 int,它怎么会是一个字符串? -
@Rohan - 很好,但这不是我要处理的直接问题
标签: python function return call