首页 > 解决方案 > Python意外返回分数和虚数

问题描述

我在下面的代码中只使用了一个循环,循环p的值并保持t不变。当我尝试将p循环嵌套在t循环中以便我可以在不同的温度和压力下评估v时,下面的代码不再给我十进制答案,而是切换到分数和虚数。

我对虚数的加法感到特别困惑,因为我只将v定义为实数值;这在我只有p循环时有效。

谁能帮我把这些值恢复为小数?更好的是,它们目前是类型列表,我希望能够将解决方案打印为浮点类型。

# cubic equation for solution to reduced volume 

#===============================================#

#Bring in necessary libraries

from sympy.solvers import solve, nsolve
from sympy import Symbol, re, im, I, E

import numpy as np
from numpy import arange

import matplotlib.pyplot as plt

#===============================================#

## define variables ##
# gas: specify

tc = 300
t1 = 300
t = t1/tc

#===============================================#

v = Symbol('v', real=True) #Define key variable, dependent

for t in arange(1,5): #range of temperature values
    for p in arange(1,3): #range of pressure values
        print("t =",t,"p =",p)
        solution = (solve(3*p*(v**3)-(v**2)*(p+8*t)+9*v-3, v))
        print(solution)

标签: pythonsolutionfractions

解决方案


推荐阅读