2017-10-06 11 views
2

h(高度)が11000〜25000のときエラーが発生するので、すべてのifループの外に問題が起こっている特定のループここに私のコードは次のとおりです。エラー:「 'float型'のnon-intでシーケンスを掛けることができません」

import math; 
T = 0.0; 
P = 0.0; 
hString = ("What is the altitude in meters?"); 
h = int(hString); 
e = math.exp(0.000157*h); 

elif 11000 < h < 25000: 
    T = -56.46; 
    P = (22.65)*[(1.73)-e]; 
+2

あなたのコードは私を与える 'とValueErrorを整数に変換するのに役立ちます:無効基数10のint()のリテラル: '高度は何メートルですか?' Pythonコンソールにコピー貼り付けしたときに実行するようにコード例を修正できますか? –

+0

報告しているエラーを実際に生成するコードを投稿してください。 [MVCE](https://stackoverflow.com/help/mcve)の作成に関するこのページは役に立ちます。 –

答えて

2

最後の行([(1.73)-e])で角括弧はリストを作成します。この場合、1つの要素、つまり(1.73)-eのリストです。私はあなたがそれらを敬虔にすることを意図していたと思います。その変更を行うと、それは動作します。

最後の行は次のようになります。

P = (22.65)*((1.73)-e); 
3

あなたは括弧に注意する必要が数学演算を使用する場合。ここで

P = (22.65)*((1.73)-e); #will be right way of using 

[ ] using will create a list which you, do not need in this program.

はそれに数学をやっているときに、ブラケットの型変換と適切な使用について多くを学ぶのを助けるlinkです。

はまた、あなたのコードの中で、あなたは

 hString =input ("What is the altitude in meters?"); 
     h = int(hString); 

入力は、ユーザーからの値を取ることができるようになります使用していないが、その後int(your_input)はあなたが

+0

'P =(22.65)*)(1.73)-e)'は私には見えません。あなたは 'P =(22.65)*((1.73)-e)'を意味しましたか? – SherylHohman

+1

@SherylHohman、編集済みありがとう –

関連する問題