擅长:python、mysql、java
<p>如果没有一个更大的参照系,它听起来可能是完全相切的,但是您可以考虑简单地在一个函数中构建整个目标,并摆脱更新外部变量的整个问题。你知道吗</p>
<pre><code>def get_params():
target = 'http://www.example.com'
asking = True
while asking:
next_param = raw_input('Add another param? Y/N')
if 'y' in next_param.lower():
target += "/{}".format(raw_input('Enter parameter: '))
else:
asking = False
return target
</code></pre>
<p>如果您需要单独存储每个参数,那么您可以让它返回参数的<code>list</code>,然后使用<code>'/'.join(x for x in returned_list)</code>。这将有一个额外的好处,即为您提供参数列表以及最终搜索字符串,同样不必让所有这些全局变量四处浮动。你知道吗</p>
<pre><code>def get_list_of_params():
target = ['http://www.example.com']
asking = True
while asking:
next_param = raw_input('Add another param? Y/N')
if 'y' in next_param.lower():
target.append(raw_input('Enter parameter: '))
else:
asking = False
return target
</code></pre>
<p>您将使用如下:</p>
<pre><code>param_list = get_list_of_params()
search_string = '/'.join(param_list)
</code></pre>
<p>这样,您就不用设置全局变量在其他地方进行更改,而只需要处理已经准备好使用的返回值。你知道吗</p>