Javascript Matematica Pow Vs Moltiplicazione

| | | | | | |

Mentre le stringhe possono essere moltiplicate per numeri interi per creare una sequenza ripetuta, le stringhe non possono essere moltiplicate per float. In caso contrario, Python restituisce un errore.

In questo articolo parleremo dell’errore "typeerror: non è possibile moltiplicare la sequenza per non-int di tipo ‚Äòfloat‚Äô" errore e perché viene sollevato. Esamineremo uno scenario di esempio con questo errore presente in modo da poterlo risolvere.

typeerror: impossibile moltiplicare la sequenza per non-int di tipo ‘float’

Diamo un’occhiata al nostro messaggio di errore e vediamo cosa ci dice:

Il nostro errore è un TypeError. Ciò significa che stiamo cercando di eseguire un’operazione su un valore il cui tipo di dati non supporta tale operazione. Ad esempio, se provi a concatenare un intero e una stringa, viene generato un errore di tipo.

L’errore ci dice che stiamo moltiplicando una sequenza, nota anche come stringa, da un numero in virgola mobile. Questo non è supportato in Python.

Ci sono due tipi di numeri in Python: numeri interi e numeri a virgola mobile. Gli interi sono numeri interi mentre i numeri a virgola mobile sono decimali.

Le stringhe possono essere moltiplicate per interi. Considera questo esempio:

Il nostro codice restituisce: SconeSconeScone. Quando moltiplichi una stringa per un intero, viene creata una sequenza ripetuta di quella stringa.

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

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

Le stringhe non possono essere moltiplicate per floating numeri di punto. Se hai provato a moltiplicare il nostro "scone" stringa di 3.3, cosa farebbe Python? Non puoi avere .3 di una stringa. Quindi, viene restituito un errore.

Uno scenario di esempio

Questo errore si trova comunemente quando si lavora con input( ) dichiarazioni. Diamo un’occhiata a un programma che calcola uno sconto del 5% su un acquisto effettuato in un negozio.

Abbiamo dichiarato una variabile denominata valore che memorizza quanto il cliente ha speso per un acquisto. Questo valore viene raccolto dall’utente utilizzando il metodo input().

Successivamente, abbiamo dichiarato una variabile chiamata sconto. Questa memorizza lo sconto del 5% che applicheremo agli acquisti come numero decimale. Quindi calcoliamo la percentuale di sconto moltiplicando " valore" e "sconto" insieme. Quindi sottraiamo questo numero dal costo totale del prodotto.

Usiamo round() metodo per arrotondare il valore di "final_cost" a due posizioni decimali. Quindi, stampiamo questo valore sulla console.

Proviamo a eseguire il nostro codice:

Ah no. è stato restituito un errore. Risolviamo questo errore.

L’errore "typeerror: can‚Äôtmoltiplica la sequenza per non-int di tipo ‚Äòfloat‚Äô" è causato dalla moltiplicazione di una stringa e di un numero in virgola mobile.

Questo errore si è verificato nel nostro programma precedente perché input() restituisce una stringa. Ciò significa che anche se inseriamo un numero nel nostro programma, questo verrà memorizzato come una stringa.

Per risolvere questo problema, possiamo convertire il valore che l’utente inserisce nel programma in un valore variabile numero del punto. Possiamo farlo usando il metodo float():

Il metodo float() è circondato dal metodo input(). Il metodo float() converte il valore stringa restituito da input() in un numero a virgola mobile. Questo ci permette di moltiplicare il "valore" e "sconto" perché sono entrambi numeri.

Proviamo a eseguire nuovamente il nostro codice:

Il nostro codice funziona! Il nostro programma ci dice che uno sconto del 5% sul valore di un acquisto di $ 12,99 rende il costo del prodotto finale $ 12,34.



Conclusione

Le stringhe non possono essere moltiplicate per numeri in virgola mobile. Questo perché moltiplicare le stringhe per numeri interi crea una sequenza ripetitiva della stringa. Ciò non è possibile utilizzando una virgola mobile perché risulterebbe nella moltiplicazione di una stringa per valori decimali.

Per risolvere l’errore "typeerror: impossibile‚Äômoltiplicare la sequenza per non-int di tipo ‚Äòfloat‚Äô", assicurati che tutti i valori stringa vengono convertiti in un numero a virgola mobile se vengono utilizzati come parte di un calcolo.

Ora sei pronto per risolvere questo errore come un esperto Python!

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