Pythonを使用して文字列を整数に変換する方法



この記事では、例を使用して、さまざまな方法で文字列を整数に変換する方法に関する詳細で包括的な知識を提供します。

このトピックでは、組み込みのデータ型を使用する場合と使用しない場合で、文字列を整数に変換する方法について学習します。文字列は引用符で囲まれて順番に配置された文字の集まりであり、整数は小数点がなく、引用符で囲まれていない数値であることがわかっています。

文字列から整数のPython





Javaでパッケージを作成する

しかし、あるデータ型を別のデータ型に変換する方法について質問がある場合、Pythonは相互に変換する簡単な方法を提供します。この場合、文字列を次の順序で整数に変換する方法を確認します。

組み込みデータ型の使用



何らかの理由でユーザーから入力を受け取ったときに、Pythonがそれを受け取り、文字列自体として返すとします。言い換えれば、誰かが入力として数値を入力した場合でも、Pythonはそれを文字列として返します。

name = input( 'あなたの名前は何ですか:')print(name)print(type(name))age = input( 'あなたの年齢は何ですか:')print(age)print(type(age))

出力:

あなたの名前は何ですか:Tyra



ティラ

あなたの年齢は何歳ですか:20

20

ご覧のとおり、入力として使用される名前と年齢のタイプは「文字列」です。

ここで、年齢に5を追加したい場合は、次のようにします。

name = input( 'あなたの名前は何ですか:')print(name)print(type(name))age = input( 'あなたの年齢は何ですか:')print(age)print(type(age))print(age + 5)

出力:

あなたの名前は何ですか:Tyra

ティラ

あなたの年齢は何歳ですか:20

20

トレースバック(最後の最後の呼び出し):

ファイル 'C:/Users/prac.py'、9行目、

印刷(年齢+5)

TypeError:intではなくstrである必要があります

年齢は文字列型であり、文字列を使用して直接計算できないため、年齢に5を追加することはできません。したがって、年齢を入力として受け取り、Pythonがそれを文字列として返すため、年齢を整数に変更する必要があります。

したがって。

それだけの価値のあるpmi-acp
name = input( 'あなたの名前は何ですか:')print(name)print(type(name))age = input( 'あなたの年齢は何ですか:')print(age)print(type(age))age = int(年齢)print(年齢+5)

出力:

あなたの名前は何ですか:Tyra

ティラ

あなたの年齢は何歳ですか:20

20

25

従来の方法

組み込み関数int()を使用して文字列を整数に変換したくないとします。だから私たちは使用する必要があります 従来の方法 変換する。

これは、int()を使用せずに変換を行う簡単な方法です。

'' '' 123 '-> 123'-12332'-> -12332 '' 'def str_to_int(input_str):output_int = 0 if input_str [0] =='-':start_idx = 1 is_negative = True else:start_idx = 0 is_negative = False for i in range(start_idx、len(input_str)):place = 10 **(len(input_str)-(i + 1))digit = ord(input_str [i])-ord( '0') output_int + = place * Digit if is_negative:return -1 * output_int else:return output_int s = '554' x = str_to_int(s)print(type(x))s = '123' print(str_to_int(s))s = '-123' print(str_to_int(s))

出力:

123

-123

gitcommitログを印刷する方法
  • まず、ユーザーから提供された数値にマイナス記号が含まれているかどうか、つまり負の数であるかどうかを確認します。マイナス記号の最初の位置に含まれている場合は、数値を含む2番目の位置から変換を開始します。

  • 任意の数、たとえば123は、次の形式で記述できます–10 ** 2 * 1 + 10 ** 1 * 2 + 10 ** 0 * 3

  • 同様に、を使用して各入力番号を分割します 単語(引数)

  • ord( ‘0’)は48を返し、ord( ‘1’)は49を返します。

  • ここでは、ord( '1')– ord( '0)= 1、ord(' 2 ')– ord(' 0 ')= 2などのロジックを使用します。入力番号。

  • 最後に、関数から取得する出力は、指定された入力文字列から変換した正当な整数です。

ご覧のとおり、int()関数を使用するか、従来の方法を使用して、任意の文字列を整数に変換できます。

概念をよく学び、より正確に試してみてください。これで、Pythonを使用した文字列から整数への変換に関するこの記事は終わりです。

質問がありますか?このStringtoIntegerチュートリアルのコメントセクションでそれについて言及してください。できるだけ早くご連絡いたします。

Pythonとそのさまざまなアプリケーションに関する詳細な知識を得るには、ライブに登録できます。 24時間年中無休のサポートと生涯アクセス。