Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Python Melemparkan Ralat 'ValueError: literal tidak sah untuk int() dengan asas 10'?

Mengapa Python Melemparkan Ralat 'ValueError: literal tidak sah untuk int() dengan asas 10'?

DDD
DDDasal
2025-01-05 17:01:14701semak imbas

Why Does Python Throw a

ValueError: Tidak Sah Literal untuk Int() - Mentafsir Ralat

Dalam bidang pengaturcaraan Python, "ValueError: literal tidak sah untuk int() dengan asas 10" ralat muncul apabila percubaan dibuat untuk menukar rentetan menjadi integer menggunakan fungsi int(), tetapi rentetan tidak boleh berjaya ditafsirkan sebagai nilai integer.

Punca Ralat

Ralat ini biasanya berlaku apabila rentetan mengandungi aksara atau simbol yang tidak dikenali sebagai angka atau tidak boleh ditukar dengan betul kepada integer yang sah. Contoh biasa ialah apabila rentetan kosong atau kosong, kerana ketiadaan aksara berangka menghalang penukarannya kepada integer.

Senario Contoh

Pertimbangkan coretan kod di mana ralat ditemui:

>>> string_data = ''
>>> integer_representation = int(string_data)
ValueError: invalid literal for int() with base 10: ''

Dalam keadaan ini, string_data rentetan ialah memberikan nilai rentetan kosong. Apabila rentetan ini dihantar ke fungsi int() untuk penukaran kepada integer, ia gagal kerana kekurangan aksara angka.

Resolusi

Untuk menyelesaikan ralat ini , adalah penting untuk memastikan bahawa rentetan yang ditukar kepada integer mengandungi aksara berangka yang sah dan bukan rentetan kosong. Satu penyelesaian mudah ialah menyemak rentetan untuk panjang atau kekosongannya sebelum mencuba penukaran:

if len(string_data) > 0:
    integer_representation = int(string_data)
else:
    # Handle error or provide a default value

Selain itu, jika rentetan mengandungi aksara bukan berangka atau nilai titik terapung, anda mungkin perlu melakukan operasi sedemikian sebagai menapis aksara bukan berangka atau menukar nilai titik terapung kepada integer melalui penukaran perantaraan.

Atas ialah kandungan terperinci Mengapa Python Melemparkan Ralat 'ValueError: literal tidak sah untuk int() dengan asas 10'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn