tipi di operandi non supportati python

I valori interi non possono essere sottratti dai valori stringa e viceversa. Questo perché stringhe e numeri interi sono tipi di dati separati. Se provi a sottrarre una stringa da un numero intero, ricevi un errore del tipo "TypeError: tipi di operandi non supportati per -: ‚Äòstr‚Äô e ‚Äòint‚Äô".

In questa guida, parliamo del significato di questo errore e del motivo per cui viene sollevato. Esaminiamo un esempio per aiutarti a capire come risolvere questo errore nel tuo codice.

TypeError: tipi di operando non supportati per -: ‘str’ e ‘int’

A differenza di altri linguaggi di programmazione, la sintassi Python è fortemente tipizzata. Una conseguenza di ciò è che devi cambiare i tipi di oggetti, come stringhe e numeri interi, se vuoi trattarli come un diverso tipo di dati.

Quando provi a sottrarre un stringa per un intero o viceversa, Python non sa cosa fare. Questo perché non puoi sottrarre valori di stringa.

Analogamente, non puoi aggiungere una stringa a un numero intero o dividere una stringa per un numero intero. Tutte queste operazioni restituiscono un "tipo/i di operando non supportato" errore.

Uno scenario di esempio

Stiamo per creare un’applicazione di spesa che tiene traccia di quanti soldi qualcuno avrà lasciato sul proprio budget dopo aver effettuato un acquisto. Questa applicazione chiede all’utente di inserire il valore di ogni acquisto effettuato. Questo verrà sottratto dall’importo totale che un utente ha nel proprio budget.

Per iniziare, chiedi a un utente di impostare un budget utilizzando l’input () metodo:

Abbiamo convertito questo valore in un intero utilizzando il metodo int(). Successivamente, chiediamo a un utente di fornire alcuni dettagli sul suo acquisto. Chiediamo cosa hanno acquistato e quanto è costato il loro acquisto:

l’81% dei partecipanti ha dichiarato di sentirsi più sicuro delle proprie prospettive di lavoro nel settore tecnologico dopo aver partecipato a un bootcamp. Fatti abbinare a un bootcamp oggi.

Il laureato medio di un bootcamp ha trascorso meno di sei mesi nella transizione di carriera, dall’avvio di un bootcamp alla ricerca del primo lavoro.

Successivamente, sottraiamo il valore di "prezzo" da "budget". Questo ci dice quanto un utente ha lasciato nel suo budget.

Lo facciamo usando l’operatore di sottrazione (-):

Esegui il nostro codice per vedere se il nostro programma funziona:

Noi‚Äô Abbiamo detto al nostro programma che il nostro budget è di $ 400 al mese. Abbiamo appena acquistato un supporto per monitor che costa $ 35. Il nostro programma non riesce a calcolare il nostro nuovo budget. Risolviamo questo errore.

La soluzione

Cosi In caso di errore, convertiamo il valore di "prezzo" in una stringa.

Per impostazione predefinita, input() restituisce una stringa. Abbiamo modificato il valore di "budget" essere un numero intero precedente nel nostro codice. Tuttavia, non abbiamo modificato il valore di "prezzo". Ciò fa si che il nostro codice sottragga un numero intero da una stringa che non è possibile.

Python non può convertire automaticamente una stringa in un numero intero perché Python è tipizzato staticamente.

Risolviamo questo errore sostituendo il "prezzo" dichiarazione con questo codice:

Abbiamo circondato l’istruzione input() con int(). Ciò rende il valore memorizzato nel "prezzo" variabile un numero intero. Questo converte il valore che un utente inserisce nel nostro programma in un numero intero. Esegui il nostro codice con questa riga di codice rivista:

Il nostro codice viene eseguito correttamente. Il nostro codice sottrae 35 da 400. Il nostro programma quindi stampa quanti soldi abbiamo lasciato nel nostro budget sulla console.

Errori simili

Esistono numerosi errori di "tipo/i di operando non supportato" in Python.

Questi errori significano la stessa cosa: stai cercando di eseguire un’operazione matematica su una stringa e un valore numerico. Poiché le stringhe non supportano le operazioni matematiche, incontrerai un errore.

Ad esempio, vedrai questo errore se provi ad aggiungere una stringa e un intero:

Analogamente, vedi questo errore se prova a trovare il resto di una stringa e un intero:

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method