调用函数和 return 一个值
Call function and return a value
我有以下代码:
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'仍然是userID值。只是 运行 它明白我的意思。感谢您的帮助。
您的代码中有两个 UserID 变量,如果值不在 1 到 10 之间,则您不会返回 UserID 值,因此它在 while 循环中打印旧值。
您可以使用下面的简化代码。
def checkUserId(user_id):
if user_id < 1 or user_id > 10:
print(user_id)
return "You did not enter a valid ID number. Try again."
else:
return user_id
user_id = 0
while True:
user_id = input("Enter your ID number.")
if user_id == 'shutdown':
break
ret_user_id = checkUserId(int(user_id))
print(ret_user_id)
我有以下代码:
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'仍然是userID值。只是 运行 它明白我的意思。感谢您的帮助。
您的代码中有两个 UserID 变量,如果值不在 1 到 10 之间,则您不会返回 UserID 值,因此它在 while 循环中打印旧值。
您可以使用下面的简化代码。
def checkUserId(user_id):
if user_id < 1 or user_id > 10:
print(user_id)
return "You did not enter a valid ID number. Try again."
else:
return user_id
user_id = 0
while True:
user_id = input("Enter your ID number.")
if user_id == 'shutdown':
break
ret_user_id = checkUserId(int(user_id))
print(ret_user_id)