Cara Mengonversi String menjadi integer menggunakan Python

Artikel ini akan memberi Anda pengetahuan terperinci dan komprehensif tentang cara mengubah string menjadi integer dengan berbagai cara dengan contoh.

Dalam topik ini, kita akan belajar tentang cara mengonversi string menjadi integer dengan dan tanpa menggunakan tipe data built-in. Kita tahu bahwa string adalah kumpulan karakter yang disusun secara berurutan diapit tanda kutip dan bilangan bulat adalah angka tanpa titik desimal dan tidak diapit dengan semua jenis tanda kutip.

String ke integer python





Tetapi ketika muncul pertanyaan tentang bagaimana mengonversi satu tipe data ke yang lain, Python menyediakan cara mudah untuk mengonversi satu sama lain. Dalam hal ini, kita melihat bagaimana kita bisa mengubah string menjadi integer dengan urutan berikut:

Menggunakan Tipe Data bawaan



Misalkan ketika saya mengambil input dari pengguna karena suatu alasan, Python mengambilnya dan mengembalikannya sebagai string itu sendiri. Dengan kata lain, bahkan jika seseorang mengetik angka sebagai input, Python mengembalikannya sebagai string.

name = input ('What is your name:') print (name) print (type (name)) age = input ('What is your age:') print (age) print (jenis (usia))

Keluaran:

Siapa nama Anda: Tyra



Tyra

Berapa usia Anda: 20

dua puluh

Jadi Anda lihat, jenis nama dan usia yang diambil sebagai masukan adalah 'String'.

Sekarang, misalkan jika kita ingin menambahkan 5 ke usia, kita akan melakukan hal berikut:

name = input ('What is your name:') print (name) print (type (name)) age = input ('What is your age:') print (age) print (type (age)) print (age + 5)

Keluaran:

Siapa nama Anda: Tyra

Tyra

Berapa usia Anda: 20

dua puluh

Traceback (panggilan terakhir terakhir):

File 'C: /Users/prac.py', baris 9, dalam

cetak (usia + 5)

TypeError: harus str, bukan int

Kami tidak dapat menambahkan 5 ke usia karena usia adalah jenis String dan kami tidak dapat melakukan matematika langsung dengan string. Jadi kita harus mengubah age menjadi integer karena kita telah mengambil age sebagai input dan Python mengembalikannya sebagai String.

Karenanya.

panggilan dengan referensi contoh c ++
name = input ('What is your name:') print (name) print (type (name)) age = input ('What is your age:') print (age) print (type (age)) age = int ( usia) cetak (usia + 5)

Keluaran:

Siapa nama Anda: Tyra

Tyra

Berapa usia Anda: 20

dua puluh

25

Cara konvensional

Misalkan kita tidak ingin menggunakan fungsi built-in int () untuk mengonversi string menjadi integer.Jadi kita harus menggunakan cara konvensional untuk mengubah.

Berikut adalah cara sederhana untuk melakukan konversi tanpa menggunakan 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 = Salah untuk i dalam rentang (start_idx, len (input_str)): tempat = 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))

Keluaran:

123

-123

  • Pertama, kita periksa apakah bilangan yang diberikan oleh pengguna mengandung tanda minus atau tidak, yaitu bilangan negatif atau bukan.Jika ada di posisi pertama ada tanda minus, kita mulai konversi dari posisi kedua yang berisi angka.

  • Angka berapa pun, misalkan 123, dapat ditulis dalam bentuk -10 ** 2 * 1 + 10 ** 1 * 2 + 10 ** 0 * 3

  • Demikian pula, kami membagi setiap nomor masukan menggunakan kata-kata (argumen) .

  • ord ('0') akan mengembalikan 48, ord ('1') mengembalikan 49 dll.

  • Di sini kita menggunakan logika bahwa ord ('1') - ord ('0) = 1, ord (' 2 ') - ord (' 0 ') = 2 dll. Yang memberi kita bilangan signifikan untuk diambil dari yang diberikan nomor masukan.

  • Akhirnya, keluaran yang kita dapatkan dari fungsi tersebut adalah bilangan bulat resmi yang kita ubah dari string masukan yang diberikan.

Jadi seperti yang Anda lihat, kita dapat mengonversi string apa pun menjadi integer baik menggunakan fungsi int () atau dengan cara konvensional.

Saya harap Anda mempelajari konsepnya dengan baik dan karenanya mencobanya agar lebih akurat dan dengan ini, kita sampai pada akhir artikel ini tentang Mengonversi String menjadi int menggunakan Python.

Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar di Tutorial String ke Integer ini dan kami akan menghubungi Anda kembali secepatnya.

Untuk mendapatkan pengetahuan mendalam tentang Python beserta berbagai aplikasinya, Anda dapat mendaftar secara langsung dengan dukungan 24/7 dan akses seumur hidup.