Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menyelesaikan \'TypeError: Jenis Operand Tidak Disokong untuk -: \'str\' dan \'int\'\' Ralat dalam Python?
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!