以下代码在单独文件中引用时返回的数据不正确。当给定的数据与if/else语句不匹配时,它将再次遍历函数,但另一个文件(client类型)中的变量仍然是错误的选择。你知道吗
功能:
def create_client():
client_type = input()
if client_type == 'Mickey':
return 'Mickey'
elif client_type == 'Jenny':
return 'Jenny'
elif client_type == 'McElroy':
return 'McElroy'
else:
create_client()
调用函数:
client_type = functions.create_client()
if client_type == 'Mickey':
client = functions.client(3, 5, 2)
elif client_type == 'Jenny':
client = functions.client(5, 2, 3)
elif client_type == 'McElroy':
client = functions.client(4, 1, 5)
else:
print('Error on choosing client in function create_client.')
你的问题是当你的函数递归时,它什么也不返回。你知道吗
你应该改变
至
现在,这不是一个直接的答案,但在这种情况下,您确实不应该使用递归,最好使用循环:
这不会耗尽递归调用堆栈,并节省资源。你知道吗
我甚至会继续使用
dict
而不是序列if
/elif
:然后您可以让代码搜索dict并返回正确的数字:
相关问题 更多 >
编程相关推荐