bugfix> python > 投稿

int()関数に問題があります。 単純なプログラムで使用しようとしましたが、機能しません。 これは私の短いプログラムです。 int()を使用して、変数をstrからintに変換します。 そして、それを使用して2と比較します。しかし、エラーを返します。tはまだstrとして見られています。何が起こっていますか??

a = '4'
int (a)
if a > 2:
    print( "It's working" )

回答 3 件
  • int(a)   a を変更しません 、新しいオブジェクトを作成して返します。これを試して:

    a = '4'
    i = int(a)
    if i > 2:
        print("It's working")
    
    

    行2で作成した新しい変数の名前は、行1で作成した変数とは異なることに注意してください。実際、名前を再利用する方が読みやすい場合があります。

    a = '4'     # Now `a` is a `str`
    a = int(a)  # Now `a` is an `int`
    if a > 2:
        print("It's working")
    
    

  • # or mutate the a by redefining a:
    a = '4'
    a = int(a)
    if a > 2:
        print("It's working")
    
    

  • の代わりにタイプキャスト それの前にforループ、あなたは保つことができます「a」 としてstr それをintにタイプキャストするだけです forループ。これにより、str dataype 希望する出力が得られます。

    a = '4'
    if int(a) > 2:
        print( "It's working" )
    
    

    あなたのプログラムで。そのインスタンスに対してのみstrをintに変換しています。どこにも保管していません。あなたの変数a 型キャストの前に保存されるstrを指します。

あなたの答え