擅长:python、mysql、java
<p>使用<code>sympy</code>,和<code>kwargs</code>检查用户提供的信息的基本解决方案:</p>
<pre><code>from sympy.solvers import solve
from sympy import Symbol
def solve_gas_properties(**kwargs):
properties = []
missing = None
for letter in 'PVRT':
if letter in kwargs:
properties.append(kwargs[letter])
elif missing is not None:
raise ValueError("Expected 3 out of 4 arguments.")
else:
missing = Symbol(letter)
properties.append(missing)
if missing is None:
raise ValueError("Expected 3 out of 4 arguments.")
P, V, R, T = properties
return solve(P * V - R * T, missing)
print solve_gas_properties(P=3, V=2, R=1) # returns [6], the solution for T
</code></pre>
<p>如果您想在系统中存储和操作不同的值,则可以将其转换为类方法,利用类属性而不是关键字参数。在</p>
<p>上述内容也可改写为:</p>
^{pr2}$