2017-03-27 10 views
-2

このラインをどのように機能させることができますか? print( '平均州人口:'、totalPop/50)TypeError、数字を使用してプリントで計算する

これは50がintなので、私には許されません。

def main(): 
file = open ('StateCensus2010.txt', 'r') 
name = file.readline() 
abb = file.readline() 
pop = file.readline() 
minPop = pop 
minName = name 
maxPop = pop 
maxName = name 
totalPop = pop 
totalPop += pop 
for state in range (49): 
    name = file.readline() 
    abb = file.readline() 
    pop = file.readline() 
    if pop < minPop: 
     minPop = pop 
     minName = name 
    if pop > maxPop: 
     maxPop = pop 
     minName = name 
print(' State with MAX population:',maxName, maxPop) 
print('State with MIN population:', minName, minPop) 
print('Average state population:', totalPop/50) 
+1

フルコードを表示できますか?すなわちtotalPopとは何ですか? – Simon

+0

エラーはどういう意味ですか?完全なトレースバックを投稿してください。 –

+0

'totalPop'が整数のときはうまく動作します。フルトレースバックを含む実際のエラーメッセージを投稿してください。 – kindall

答えて

0

あなたはprint('Average state population: {}'.format(totalPop/50))またはprint('Average state population:', str(totalPop/50))が、好ましくは、最初のいずれかを使用する必要があります。これは、タイプを自動的に文字列に変換するstring formattingを使用します。

+0

はトレースバックエラーが発生します。 "TypeError:/: 'str'と 'int'のサポート対象外のオペランドタイプ): –

+0

これは' totalPop'が文字列であるためです。除算を実行する前にintに変換してください(多分 'int'を使って)。 – DW42

+0

@ DW42それよりもはるかに早く変換する必要があります。数字を表すすべての文字列と同じです。 –

関連する問題