我对 Python 很陌生,我正在尝试编写一个程序,该程序将执行 4 点线性插值,从 .txt 文件读取数据并询问用户信息。
.txt 文件在具有以下格式的表格中包含温度和压力:
T P1 P2 P3 P4
80,100,150,200
75, 400,405,415,430
100, 450,456,467,483
150, 500,507,519,536
200, 550,558,571,589
这是代码:
# User input
temp = input("Enter temperature value in degrees Celcius [Range: 75-200]:")
pressure = input("Enter pressure value in bars [Range: 80-589")
temp = float(temp)
pressure = float(pressure)
# Opens file and read data
filename = open('xxxxxxxxxxxxx.txt', 'r').readlines()
# Removes \n from each line
for i in list(range((len(filename)-1))):
filename[i] = filename[i][:-1]
# Splits string
for i in list(range(len(filename))):
filename[i] = filename[i].split(',')
# Converts string numbers into decimal numbers
for i in [2,3,4,5,6]:
filename[i][0] = float(filename[i][0])
filename[i][1] = float(filename[i][1])
我不知道从这里去哪里。如果用户输入说,T=100 和 P=200,我将如何从文件中找到直接在这些数字之前和之后的数据点?
显然,我不太了解我在做什么,但我会很感激任何帮助。
ETA:实际表值。另外,我不清楚实际的问题陈述。给定温度和压力,程序应执行线性插值以找到 U(内能)。T 值是第一列,P 值是第一行,其余的是 U 值。