擅长:python、mysql、java
<p>要使用字符串作为代码,需要小心地使用<code>eval</code>函数,因为如果依赖用户的输入,它不是一个安全的函数。
注意,f字符串是一种改进的<code>format</code></p>
<pre><code>def conditionConstructor(xStart, xEnd, yStart, yEnd, conditionData='False'):
return f'{conditionData} or (({xStart} < x < {xEnd}) and ({yStart} < y < {yEnd}))'
def main():
x = 2
y = 4
res = conditionConstructor(1, 3, 3, 5)
res = conditionConstructor(3, 4, 1, 2, res)
while eval(res):
...
if __name__ == '__main__':
main()
</code></pre>
<p>打印第一个<code>res</code>将显示:<br/>
<code>False or ((1 < x < 3) and (3 < y < 5))</code></p>
<p>打印第二个res将显示:<br/>
<code>False or ((1 < x < 3) and (3 < y < 5)) or ((3 < x < 4) and (1 < y < 2)) </code></p>