Cara Menukar String menjadi integer menggunakan Python



Artikel ini akan memberi anda pengetahuan terperinci dan komprehensif tentang cara menukar rentetan menjadi bilangan bulat dengan pelbagai cara dengan contoh.

Dalam topik ini, kita akan belajar tentang cara mengubah rentetan menjadi bilangan bulat dengan dan tanpa menggunakan jenis data yang ada. Kita tahu bahawa rentetan adalah kumpulan watak yang disusun secara berurutan yang disertakan dalam tanda petik dan bilangan bulat adalah nombor tanpa titik perpuluhan dan tidak disertakan dengan jenis tanda petik.

Rentetan dengan python integer





Tetapi apabila timbul persoalan bagaimana mengubah satu jenis data ke yang lain, Python menyediakan cara mudah untuk menukar satu sama lain. Dalam kes ini, kita melihat bagaimana kita dapat mengubah rentetan menjadi bilangan bulat dalam urutan berikut:

Menggunakan Jenis Data terbina dalam



Katakan ketika saya mengambil input dari pengguna untuk beberapa sebab, Python mengambilnya dan mengembalikannya sebagai tali itu sendiri. Dengan kata lain, walaupun seseorang menaip nombor sebagai input, Python mengembalikannya sebagai rentetan.

name = input ('What is your name:') print (name) print (type (name)) age = input ('Berapa umur anda:') cetak (umur) cetak (jenis (umur))

Pengeluaran:

Siapa nama anda: Tyra



Tyra

Berapakah umur anda: 20

dua puluh

Oleh itu, jenis nama dan umur yang diambil sebagai input adalah 'String'.

Sekarang, andaikan jika kita ingin menambah usia 5 tahun, kita akan melakukan perkara berikut:

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

Pengeluaran:

Siapa nama anda: Tyra

Tyra

Berapakah umur anda: 20

dua puluh

Jejak balik (panggilan terakhir terakhir):

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

cetak (umur + 5)

TypeError: mestilah str, bukan int

Kita tidak boleh menambah usia 5 kerana usia adalah jenis String dan kita tidak dapat melakukan matematik langsung dengan rentetan. Jadi kita harus mengubah usia menjadi bilangan bulat kerana kita telah mengambil usia sebagai input dan Python mengembalikannya sebagai String.

Oleh itu.

name = input ('What is your name:') print (name) print (type (name)) age = input ('What is your age:') cetak (umur) cetak (jenis (umur)) umur = int ( umur) cetak (umur + 5)

Pengeluaran:

Siapa nama anda: Tyra

Tyra

apakah kekangan utama

Berapakah umur anda: 20

dua puluh

25

Cara konvensional

Katakan kita tidak mahu menggunakan fungsi built-in int () untuk menukar rentetan menjadi bilangan bulat.Oleh itu, kita mesti menggunakan cara konvensional untuk menukar.

Inilah kaedah mudah untuk menukar 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 = Betul lain: start_idx = 0 is_negative = Salah untuk i dalam julat (start_idx, len (input_str)): tempat = 10 ** (len (input_str) - (i + 1)) digit = ord (input_str [i]) - ord ('0') output_int + = place * digit if_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 = Cetakan '-123' (str_to_int)

Pengeluaran:

123

-123

  • Pertama, kami akan memeriksa sama ada nombor yang diberikan oleh pengguna mengandungi tanda tolak atau tidak, iaitu nombor negatif atau tidak.Sekiranya ia berada di kedudukan pertama dalam tanda tolak, kita akan memulakan penukaran dari kedudukan kedua yang mengandungi angka.

  • Sebarang nombor, katakanlah 123, boleh ditulis dalam bentuk -10 ** 2 * 1 + 10 ** 1 * 2 + 10 ** 0 * 3

  • Begitu juga, kita membahagikan setiap nombor input menggunakan perkataan (hujah) .

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

  • Di sini kita menggunakan logik bahawa ord ('1') - ord ('0) = 1, ord (' 2 ') - ord (' 0 ') = 2 dan lain-lain yang memberikan kita bilangan penting untuk diambil dari yang diberikan nombor input.

  • Akhirnya, output yang kita dapat dari fungsi adalah bilangan bulat yang sah yang kita ubah dari rentetan input yang diberikan.

Oleh itu, seperti yang anda lihat, kita dapat mengubah rentetan apa pun menjadi integer sama ada menggunakan fungsi int () atau dengan cara konvensional.

Saya harap anda dapat mempelajari konsep dengan baik dan dengan itu mencubanya menjadi lebih tepat dan dengan ini, kami akan mengakhiri artikel ini mengenai Mengubah Rentetan ke int menggunakan Python.

Ada soalan untuk kami? Sila sebutkan di bahagian komen dari String to Integer Tutorial ini dan kami akan menghubungi anda secepat mungkin.

Untuk mendapatkan pengetahuan mendalam tentang Python bersama dengan pelbagai aplikasinya, anda boleh mendaftar secara langsung dengan sokongan 24/7 dan akses seumur hidup.