2017-03-18 15 views
-1

私はPythonの初心者ですので、ここで私は簡単に行きます... このインスタンスでは、formattedRank = 'N.A.'Pythonの文字列比較エラー:基数10のint()のリテラルが無効です

if(int(formattedReview) <= 50 and (formattedRank == "N.A.") and (formattedReview == "N.A.")): 
     print("hi") 
     rank = int(formattedRank) 
     review = int(formattedReview) 
     totalRank += rank 
     totalReviews += rank 
     count += 1 

エラー:

ValueError: invalid literal for int() with base 10: 'N.A.' 

なぜこのエラーはJavascriptの背景は、私はここに知識の欠如が私を

+0

あなたが引用したエラーを引き出すのに十分なコードを投稿する必要があります。 formattedReviewまたはformattedRankは、数字以外の文字列です。 – Prune

+0

あなたは一番上に表示されます...私はフォーマットされたものを指定しました。 –

+1

です。その答えが何であると思いますか。私の考えでは、あなたは正しい行動を取っています。文字列 "N.A"の整数値。 ValueErrorです。別のことを期待していましたか?文字列 "N.A."有効な整数ではありません。また、Pythonでは何も意味しません。 – RobertB

答えて

0

簡単十分に傷つけて確信している、私はほとんどのC#から来起こっされる可能性がありますこれを最小限の例に絞り込む:

formattedRank = 'N.A' 
int(formattedRank) 

int関数単に文字列'N.A'を受け入れません。それを整数として解釈する方法がわからず、なぜそれは必要ですか?整数には対応していません。

0

これは渡すことはできません...ちょっと待って:<ある

if(int(formattedReview) <= 50 and 
     (formattedRank == "N.A.") and 
     (formattedReview == "N.A.")): 

formattedReviewは、文字列「NA」である場合、それはおろか、整数に変換できないものが= 50.あなたのロジックに問題があります...そして、私はformattedReviewのあなたの問題の値が文字列に数字以外の数字を含んでいると予想します。これは簡単にエラーを引き起こします。

関連する問題