2017-03-02 10 views
-1

私は2つの理想的なガスをグラフ化するプログラムを作りたいが、シェルはこのエラーを起動します。IDEAL GASSES TypeError: 'float'型の非整数でシーケンスを掛けることはできません3.4.4?

line 10, in P1 
    return (P*(Vn[c]))/(T[c2]) 
TypeError: can't multiply sequence by non-int of type 'float' 

これは私のプログラムです:

#Prueba de gráfica de gas ideal con volumen molar 
import numpy as np 
from matplotlib import pyplot as plt  
#Sea Vn=miu/densidad... VnNeón=16.82 ml/mol, VnCriptón=32.23 ml/mol 
Vn=[16.82,32.23] 
T=[0.01,60,137,258] 
c=0 #contador del material 
c2=0 #contador temperatura 
def P1(P): #Función de P: 
    return (P*(Vn[c]))/(T[c2]) 
P= list(range(0,800)) 
while c<=1: 
    while c2<=3: 
     print(P1(P),Vn[c],T[c2]) 
     c2=c2+1  
    c=c+1 

私は何ができますか? 私はWindows 10でPython 3.4.4を使用しています。ネオンとKriptonの各モル体積のリストTの各温度に対して、P(およびPは0〜800)に依存するP1のグラフを取得したいリストVn。 なぜリストの要素を掛け算してPで除算できないのですか? ありがとうございます。

+0

あなたはそれが「ここにコードを入力してください」と述べたあなたのコードを入力するようになっていました。 – user2357112

+0

申し訳ありませんが、私はすでにコードを掲載しています。 – Moneqz

答えて

0

少しのデバッグは、長い道のりを助けます。

def P1(P): #Función de P: 
    print(type(P), type(Vn[c]), type(T[c2])) 
    return (P*(Vn[c]))/(T[c2]) 

にあなたの関数を変更し、それを実行すると、あなたは明らかに動作しない2 floats、と複数のlistしようとしている

<class> 'list' <class 'float'> <class 'float'>

を印刷します。 P = list(range(0, 800))ですので、インデックスを使用する必要があります。私はあなたが何をしたいのかわからないんだけど、例として、以下の機能は私のために正常に動作:

def P1(P): #Función de P: 
    #   | just added an index here 
    return (P[0]*(Vn[c]))/(T[c2]) 
関連する問題