2016-03-27 5 views
-1

私はPython 3.5.1で少しのbmi電卓を作っていましたが、うまくいけません。 Python 2.7では動作していましたが、ここでは動作しません。私のコードは:このエラーは何を意味し、どのように修正するのですか?

print ('Geef uw gewicht in kg: ') 
gewicht_kg = input() 
print ('Geef uw lengte in meters: ') 
lengte_meters = input() 
bmi = gewicht_kg/(lengte_meters * lengte_meters) 

文字列はオランダ語で書かれていますが、それは問題ではありません。私は、プログラムを実行すると、入力作業を行います(ので、私は私が欲しいものは何でも入力できます)が、それは計算を行うこととしたとき、それは次のエラーを与える:

can't multiply sequence by non-int of type 'str' 

この平均値とどのように私は何を修正することができませんそれ?

+3

私は推測して、これをPython 3で実行していると言います。あなたの入力は 'int(input())'でなければなりません。また、あなたのpython 2のコードのためにあなたの代わりに、その後のpython 2手段 'input'、のraw_input''使用する必要がありますあなたは 'int型(raw_input())が必要です' – idjaw

+0

@idjawああ言うことを忘れてしまったが、私はプログラミングによPython 3.5.1。入力は機能しますが、計算は機能しません。それから、私は型 '' str ''エラーの非intでシーケンスを掛けることができません。 –

+0

元の質問を関連情報と最新のコードで更新してください。それが動作しませんので、私は、Python 3.5.1を使用しています右 – idjaw

答えて

1

エラーメッセージは、Pythonが文字のリストに文字列の値を掛けようとしていることを示していますが、意味がありません。確かに:あなたの入力は文字列です(引用符で囲まれていない)ので、最初に数値形式に変換する必要があります。

使用

gewicht_kg = float(raw_input()) 

および他の入力のための類似した、それが良く出て動作します。

+0

、私がやったコメント –