Javascript tekenreeks vermenigvuldigen met nummer

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

Je kunt twee getallen met elkaar vermenigvuldigen in Python . Je kunt een getal ook vermenigvuldigen met een tekenreeks. Dit retourneert een reeks van een tekenreeks die een bepaald aantal keren wordt herhaald.

Als u een tekenreeks probeert te vermenigvuldigen met een andere tekenreeks, krijgt u de fout " TypeError: kan reeks niet vermenigvuldigen voor niet -int van het type `str`"-fout.

In deze handleiding leggen we uit wat deze fout betekent en waar u deze in uw code kunt tegenkomen. Laten we een voorbeeld van deze fout bekijken om u te helpen begrijpen hoe u deze kunt oplossen.

TypeError: kan de reeks niet vermenigvuldigen met niet-int van het type `str`

Strings zijn een soort reeks . Dit komt omdat ze tekens bevatten waarover Python kan herhalen. Andere typen reeksen zijn onder meer tuples, woordenboeken en lijsten.

Gebruik de vermenigvuldigingsoperator (*) om een tekenreeks te maken die de inhoud van een tekenreeks herhaalt. Overweeg de volgende code:

Deze code retourneert: "Takes! Taarten! ". De vermenigvuldigingsoperator zorgt ervoor dat onze tekenreeks twee keer wordt herhaald.

U kunt de vermenigvuldigingsoperator niet gebruiken om een tekenreeks met een tekenreeks te vermenigvuldigen. Gehele getallen en getallen tot Zwevende komma zijn de enige waarden ‚Äã‚Äãdie kunnen worden vermenigvuldigd met waarden ‚Äã‚Äãvan hetzelfde gegevenstype. Python kan de vermenigvuldiging van twee strings niet interpreteren.

Een voorbeeldscenario

Laten we een programma maken dat berekent hoeveel geld een restaurant verdiende met hun jamscones op een donderdagmiddag.

Om te beginnen moeten we de prijs van een jam scone. We vragen u ook om ons te vertellen hoeveel jamscones u op de laatste dag van de operatie heeft verkocht met behulp van een `-invoer () :

Laten we vervolgens die twee waarden ‚Äã‚Äãmet elkaar vermenigvuldigen. Dit vertelt ons hoeveel geld er op een bepaalde dag is verdiend met jamscones:

Nu we weten hoeveel de scones hebben gewonnen, laten we een print ()-statement schrijven dat de gebruiker informeert over het resultaat van onze berekening:

Met de formaat () methode kunnen we de waarde "earned_from_scones" toevoegen waar onze accolades ({}) verschijnen in onze string.

We moeten ook berekenen hoeveel winst er op elke muffin wordt gemaakt. We weten we verdienen 25 cent op elke muffin. Om te berekenen hoeveel winst er wordt gemaakt, gebruiken we deze code:

Deze code berekent de winst die op elke muffin is gemaakt en drukt die vervolgens af waarde voor de console. Laten we onze code uitvoeren en kijken of het werkt:

Onze code retourneert een fout.

Laten we de coderegel van onze fout analyseren:

Hoewel deze lignecode er correct uitziet, is er een probleem: we proberen twee tekenreekswaarden ‚Äã‚Äãmet elkaar te vermenigvuldigen. We slaan "jam_scone" op als een string. De methode input () retourneert een tekenreeks, wat betekent dat sold () een tekenreekswaarde heeft.

Om dit probleem op te lossen, hebben we moet u ervoor zorgen dat " jam_scone " en " sold " drijvende punten zijn. Dit stelt ons in staat om een wiskundige bewerking uit te voeren op deze waarden.

Laten we vervolgens de manier wijzigen waarop we de waarden ‚Äã‚Äãvan deze variabelen declareren:

De waarde van "jam_scone" staat niet langer tussen aanhalingstekens. Dit laat zien dat we "jam_scone" hebben veranderd van een string in een float. We hebben ook de float ()-methode gebruikt om de "sold"-waarde om te zetten in een getal met drijvende komma.

Voer onze code uit en kijk wat er gebeurt:

Onze code werkt prima. Ten eerste vraagt onze code de gebruiker om in te voeren hoeveel scones er in de console worden verkocht. Dan berekent ons programma hoeveel geld de winkel heeft verdiend met het verkopen van scones. Ten slotte berekent ons programma de winst die wordt gegenereerd door de verkoop van scone.

Conclusie

De fout " TypeError: kan de reeks niet vermenigvuldigen met het niet-geheel getal van het type `str ` ` treedt op als u de waarden ‚Äã‚Äã van twee strings met elkaar probeert te vermenigvuldigen. U kunt dit probleem oplossen door ervoor te zorgen dat u twee numerieke waarden ‚Äã‚Äãmet elkaar vermenigvuldigt of gewoon een tekenreeks vermenigvuldigt met een geheel getal.

U bent nu klaar om deze fout als Pythonist op te lossen!