擅长:python、mysql、java
<p>这里有一个选项:</p>
<pre><code>operator = input('Enter an operator: ')
operators = '+-**/'
if operator in operators:
executable = f'print(2{operator}3)'
exec(executable)
</code></pre>
<p>程序将要求用户输入,然后检查输入是否在运算符中,如果是,它将打印使用2和3以及该运算符的任何结果。您可以在该<code>f string</code>中放置几乎任何代码</p>
<p>关于安全:</p>
<p>正如评论中提到的,这是不安全的(使用<code>exec()</code>)?因为我只能假设这是因为可以运行任何代码(包括恶意代码),所以您只需过滤用户输入的内容即可</p>
<p>下面可能是您的代码的一个实现(应该使用python 3.6或更高版本或类似于支持<code>f strings</code>的东西):</p>
<pre class="lang-py prettyprint-override"><code>n = 5
i = 3
operator = '*'
# main part ========================
result = None
exec(f"""result = {n}{operator}{i}""", globals())
s = f'''{n} * {i} = {result}'''
print(s)
</code></pre>
<p>然而,这似乎并不像我一开始想的那样有效,所以您可能会更好地使用另一个答案,使用字典和定义函数</p>