我正在编写一个响应请求的Python程序,并将响应发回给用户。以下是两个函数的示例。如何在不使用全局变量的情况下执行此操作并仍然可以获得非重复的随机响应?
# stores prior response
website_result = 'first_response.wav'
def launch_website():
# if service is offline return with default msg otherwise launch service
if is_connected() == 'FALSE':
arg = 'this_service_is_offline.wav'
return arg
else:
site = 'http://www.somesite.com'
launch_it(site)
return launch_website_response()
def launch_website_response():
# using the global variable inside function
global website_result
# possible responses
RESPONSES = ['first_response.wav', 'second_response.wav', 'third_response.wav']
# ensures a non-repeating response
tmp = random.choice(RESPONSES)
while website_result == tmp:
tmp = random.choice(RESPONSES)
website_result = tmp
return website_result
答案 0 :(得分:0)
您的website_result
变量表示您有某种持久状态。也许你可以考虑将它存储在一个文本文件中,并在每次需要时访问它并在之后进行更改(如果你不需要对它进行过多的调用就可以了,否则你会受到I / O限制)。 / p>
我不知道您的应用程序的具体细节,但可能会发生这样的情况:您也可以使用website_result
作为@JGut建议的参数。