Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menyelesaikan \"TypeError: Jenis Operand Tidak Disokong untuk -: \'str\' dan \'int\'\" Ralat dalam Python?

Bagaimana untuk Menyelesaikan \"TypeError: Jenis Operand Tidak Disokong untuk -: \'str\' dan \'int\'\" Ralat dalam Python?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-19 13:35:02539semak imbas

How to Resolve

TypeError: Jenis Operand Tidak Disokong untuk Penolakan

Apabila menghadapi ralat "TypeError: jenis operan tidak disokong untuk -: 'str' dan 'int'", ia menandakan bahawa percubaan telah dibuat untuk menolak dua operan yang tidak serasi, biasanya rentetan dan integer.

Dalam keadaan ini, kod Python yang disediakan menunjukkan ralat ini:

<code class="python">def cat_n_times(s, n):
    while s != 0:
        print(n)
        s = s - 1

text = input("What would you like the computer to repeat back to you: ")
num = input("How many times: ")

cat_n_times(num, text)</code>

Ralat berpunca daripada percubaan untuk menolak pembolehubah s (diberikan hasil input) sebanyak 1. Walau bagaimanapun, input mengembalikan rentetan, dan Python tidak boleh melakukan penolakan pada rentetan dan integer.

Untuk menyelesaikan masalah ini , tukar num kepada integer menggunakan int(num) serta-merta selepas menerima input:

<code class="python">num = int(input("How many times: "))</code>

Selain itu, kod boleh dipermudahkan menggunakan gelung for:

<code class="python">def cat_n_times(s, n):
    for _ in range(n):
        print(s)</code>

Kod yang disemak ini akan menerima rentetan untuk teks dan integer untuk nombor, memastikan operasi penolakan dilakukan dengan betul.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan \"TypeError: Jenis Operand Tidak Disokong untuk -: \'str\' dan \'int\'\" Ralat dalam Python?. 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