Javascript Moltiplica Stringa Per Numero

| | | | | | | | | | | | | | | | | | | | |

Puoi moltiplicare due numeri insieme in Python. Puoi anche moltiplicare un numero per una stringa. Ciò restituisce una sequenza di una stringa che si ripete un numero specifico di volte.

Se si tenta di moltiplicare una stringa per un’altra stringa, si incontra l’errore "TypeError: impossibile moltiplicare la sequenza per non -int di tipo ‚Äòstr‚Äô" error.

In questa guida, parliamo di cosa significa questo errore e dove potresti incontrarlo nel tuo codice. Esaminiamo un esempio di questo errore per aiutarti a capire come risolverlo.

TypeError: impossibile moltiplicare la sequenza per non-int di tipo ‘str’

Le stringhe sono un tipo di sequenza. Questo perché contengono caratteri su cui Python può eseguire l’iterazione. Altri tipi di sequenze includono tuple, dizionari ed elenchi.

Utilizzare l’operatore di moltiplicazione (*) per creare una stringa che ripete il contenuto di una stringa. Considera il seguente codice:

Questo codice restituisce: "Torte! Torte!". L’operatore di moltiplicazione fa ripetere la nostra stringa due volte.

Non è possibile utilizzare l’operatore di moltiplicazione per moltiplicare una stringa per una stringa. Interi e numeri a virgola mobile sono gli unici valori che possono essere moltiplicati per valori dello stesso tipo di dati. Non c’è modo per Python di interpretare la moltiplicazione di due stringhe.

Uno scenario di esempio

Costruiamo un programma che calcoli quanti soldi ha guadagnato un ristorante con le sue focaccine alla marmellata su un giovedi pomeriggio.

Per iniziare, abbiamo bisogno per definire il prezzo di una focaccina alla marmellata. Chiediamo inoltre all’utente di dirci quanti scones alla marmellata ha venduto nell’ultimo giorno di attività utilizzando un’istruzione input():

Successivamente, moltiplichiamo questi due valori insieme. Questo ci dirà quanto denaro è stato guadagnato dalle focaccine alla marmellata in un dato giorno:

Ora che sappiamo quanto è stato guadagnato dagli scones, scriviamo un’istruzione print() che informa l’utente del risultato del nostro calcolo:

Il metodo format() ci consente di aggiungere il valore di "earned_from_scones" dove le nostre parentesi graffe ({}) appaiono nella nostra stringa.

Dobbiamo anche calcolare quanto profitto viene realizzato su ogni focaccina. Sappiamo che guadagniamo 25 centesimi su ogni focaccina. Per calcolare quanto profitto viene realizzato , usiamo questo codice:

Questo codice calcola quanto profitto è stato ricavato da ogni focaccina e quindi stampa quel valore sulla console. Eseguiamo il nostro codice e verifica se funziona:

Il nostro code restituisce un errore.

Analizziamo la riga di codice dal nostro errore:

Anche se questa riga di codice sembra a posto, c’è un problema: stiamo cercando di moltiplicare due valori di stringa insieme. Conserviamo "jam_scone" come una stringa. Il metodo input() restituisce una stringa, il che significa che sold() ha un valore stringa.

Per risolvere questo problema, abbiamo bisogno per assicurarti che sia "jam_scone" e "venduto" sono punti mobili. Questo ci consente di eseguire un’operazione matematica su questi valori.

Successivamente, cambiamo il modo in cui dichiariamo i valori di queste variabili:

Il valore di "jam_scone" non è più tra virgolette. Questo mostra che abbiamo cambiato "jam_scone" da una stringa a un galleggiante. Abbiamo anche utilizzato il metodo float() per convertire il valore di "venduto" a un numero in virgola mobile.

Esegui il nostro codice e guarda cosa succede:

Il nostro codice funziona correttamente. Innanzitutto, il nostro codice chiede all’utente di inserire quanti scones sono venduti nella console. Successivamente, il nostro programma calcola quanti soldi ha guadagnato il negozio vendendo focaccine. Infine, il nostro programma calcola i profitti generati dalle vendite di scone.

Conclusione

L’errore "TypeError: impossibile moltiplicare la sequenza per non-int di tipo ‚Äòstr‚Äô" si verifica se si tenta di moltiplicare due stringhe valori insieme. Puoi risolvere questo problema assicurandoti di moltiplicare due valori numerici insieme o di moltiplicare solo una stringa per un numero intero.

Ora sei pronto per risolvere questo errore come un Pythonista!