Python String to Int: Cara Menukar String menjadi Integer di Python

Tidak seperti banyak bahasa pengaturcaraan lain di luar sana, Python tidak secara implisit menaip bilangan bulat (atau terapung) ke rentetan ketika anda menggabungkannya ke rentetan.

Nasib baik, Python mempunyai fungsi bawaan yang berguna str()yang akan menukar argumen yang diteruskan ke format rentetan.

Cara Salah untuk Menukarkan Rentetan kepada Bilangan Bulat di Python

Pengaturcara yang berasal dari bahasa pengaturcaraan lain mungkin berusaha melakukan penggabungan rentetan berikut, yang akan menghasilkan ralat:

age = 18 string = "Hello, I am " + age + " years old"

Anda boleh menjalankan kod ini di repl.it.

Kesalahan yang muncul ialah:

Traceback (most recent call last): File "python", line 3, in  TypeError: must be str, not int

Di sini, TypeError: must be str, not intmenunjukkan bahawa bilangan bulat mesti ditukar terlebih dahulu menjadi rentetan sebelum dapat digabungkan.

Cara yang Betul untuk Menukar Rentetan ke Bilangan bulat di Python

Berikut adalah contoh gabungan yang mudah:

age = 18 print("Hello, I am " + str(age) + " years old") # Output # Hello, I am 18 years old

Anda boleh menjalankan kod ini di repl.it.

Inilah cara mencetak 1 2 3 4 5 6 7 8 9 10menggunakan rentetan tunggal:

result = "" for i in range(1, 11): result += str(i) + " " print(result) # Output # 1 2 3 4 5 6 7 8 9 10

Anda boleh menjalankan kod di repl.it.

Berikut adalah penjelasan baris demi baris mengenai bagaimana kod di atas berfungsi:

  1. Pertama sekali 'hasil' pemboleh ubah diberikan kepada rentetan kosong.
  2. Gelung untuk digunakan untuk mengulang senarai nombor.
  3. Senarai nombor ini dihasilkan menggunakan fungsi julat.
  4. jadi julat (1,11) akan menghasilkan senarai nombor dari 1 hingga 10.
  5. Pada setiap lelaran gelung, pemboleh ubah 'i' ini akan mengambil nilai dari 1 hingga 10.
  6. Pada lelaran pertama apabila pemboleh ubah i = 1, maka pemboleh ubah [hasil = hasil + str (i) + "(watak ruang)"], str (i) menukar 'i' yang merupakan nilai integer menjadi nilai rentetan.
  7. Oleh kerana i = 1, pada lelaran pertama akhirnya hasil = 1.
  8. Dan proses yang sama berterusan sehingga i = 10 dan akhirnya setelah hasil lelaran terakhir = 1 2 3 4 5 6 7 8 9 10.
  9. Oleh itu, apabila kita akhirnya mencetak hasilnya setelah untuk loop, output pada konsol adalah '1 2 3 4 5 6 7 8 9 10'

Saya harap anda dapati ini berguna. Selamat pengekodan.