2016-10-01 11 views
-1

Hallo Ich habe Probleme mit der Verwendung von Zeichenfolgen und Ganzzahlen während der Multiplikation. Wenn es etwas gibt, glaube ich nicht, dass ich etwas grundsätzlich falsch gemacht habe, aber dann wieder, es funktioniert nicht, also habe ich wahrscheinlich getan!Wie multipliziert man Benutzereingaben mit einer Dezimalzahl in Python?

Dies ist mein Code ab sofort.

#This is where I ask the user for input for a value 
UI = print (float(input("Enter your value here: "))) 
#Here I have numbers that I need to multiply the input by 
FRT = (float(0.290949) 
SRM = (float(0.281913) 
#Here is the multiplication but this is where the issue occurrs 
QV = (float("FRT"*"UI")) 
SV = (float("SRM"*"UI")) 

Beiden Linien am Ende Probleme haben, ich habe mit verschiedenen Set-ups versucht, mit den Zahlen verwenden, anstatt sie als FRT und SRM zu definieren und mit integer vor float usw., aber mit diesen Zeilen sie beide geben der Fehler „Zeichenfolge nicht konvertieren könnte zu schweben‚FRT‘“

+0

Einige Ihre Klammern sind nicht geschlossen. – Efferalgan

+0

sollten Sie tun 'QV = (float (FRT * UI))' anstelle von 'QV = (float (" FRT "*" UI "))', denn 'FRT' und' UI' sind Variablen, aber innerhalb '" "Sie werden wie Saiten behandelt .... Sie können auch nicht drucken und gleichzeitig einen Wert vergeben !!! Schließlich haben Sie extra '(' – coder

+0

Hey, also habe ich das Endteil geändert und das Problem ist jetzt weg. In Bezug auf den zweiten Teil des comments, bedeutet das, dass in der Zeile UI = drucken (float (Eingabe (".......:"))) Ich versuche, den eingegebenen Wert zu einem Gleitkomma zu machen? Bedeutet das hinterher, sollte ich den UI-Wert verwenden und es zu einem Gleitkomma in einer separaten Zeile machen? wirklich schlechte Fragen, ich bin sehr neu in diesem und Englisch ist nicht meine Muttersprache, so kann ich nicht Sätze sehr gut formulieren – Gramaru

Antwort

0

Es gibt durchaus ein paar Probleme mit Ihrem Code

Zunächst einmal haben Sie Ihre Klammer auf den Linien 4 und 5

Zweitens nicht geschlossen , Sie versuchen Variable aufzurufen s nach Saiten. Das ist nicht, wie es funktioniert

QV = (float("FRT"*"UI")) 

QV = (float(FRI * UI)) 

Schließlich sollte, zeigt input bereits Text, so dass Sie print etwas nicht brauchen, und da print kehrt None, UI wird immer None.

UI = print (float(input("Enter your value here: "))) 

sollte

UI = float(input("Enter your value here: ")) 

Also, die vollständige ausgetestet Code sein sollte:

#This is where I ask the user for input for a value 
UI = float(input("Enter your value here: ")) 
#Here I have numbers that I need to multiply the input by 
FRT = (float(0.290949)) 
SRM = (float(0.281913)) 
#Here is the multiplication but this is where the issue occurrs 
QV = (float(FRT*UI)) 
SV = (float(SRM*UI)) 
+0

Beachten Sie auch, dass Sie unnötige Klammern verwenden, aber das ist ein Problem für einen anderen Tag – AlgoRythm

+0

Hallo, entschuldigung, wenn ich die Original Code in diesen Kommentar Ich habe es nicht richtig kopiert. Ich hatte nicht die Klammern. Vielen Dank für die Hilfe sehr schnell und prägnant. Ich wusste nicht, dass die Eingabe von selbst druckt, und ich wusste nicht, dass "" zu behandeln d Werte als Zeichenfolgen. Vielen Dank. – Gramaru

+0

@Gramaru Ich bin froh, dass ich helfen konnte! Wenn es Ihnen nichts ausmacht, und Sie finden es passend, bitte markieren Sie meine Antwort als die angenommene Antwort, so dass jeder, der diese Frage findet, die Antwort finden kann, die sie brauchen :) – AlgoRythm

0

"FRT" ist eine Zeichenfolge, die aus den Buchstaben F, R & T. Wenn Sie möchten auf die Variable FRT verweisen, verwenden Sie keine Anführungszeichen. QV = (float("FRT"*"UI")) versucht zuerst die Zeichenfolge "FRT" mit der Zeichenfolge "UI" zu multiplizieren und das Ergebnis in ein Float zu konvertieren. Da die String-Multiplikation nicht definiert ist, erhalten Sie einen Fehler.

In Ihrem aktuellen Code bin ich mir nicht sicher, was UI ist, da Sie es nicht gleich einer Zahl, sondern zum Ergebnis einer print() machen. Ihre erste Zeile sollte durch

UI = float(input("Enter your value here: ")) 
print(UI) 

Dann ersetzt werden, QV = FRT * UI wird tun, was Sie wollen, da beide FRT und UI sind schwebt. Die Klammern um jede Operation werden nicht benötigt.

0
#This is where I ask the user for input for a value 
UI = print (float(input("Enter your value here: "))) 

Above nicht tun, was Sie wollen, kehrt Druck nichts

UI = float(input("...")) 
print(UI) 

Wenn 2 mit Python.7 uns raw_input, nicht Eingang

#Here I have numbers that I need to multiply the input by 
FRT = (float(0.290949) 
SRM = (float(0.281913) 

Sie brauchen nur:

FRT = 0.290949 

Keine Notwendigkeit, einen Schwimmer in einem Schwimmer zu konvertieren

#Here is the multiplication but this is where the issue occurrs 
QV = (float("FRT"*"UI")) 
SV = (float("SRM"*"UI")) 

Sie sind Strings oben multipliziert, dies zu tun:

QV = FRT * UI 
0

Was machen Sie? Willst du deine Ausgabe als?

Der Fehler Ihre Herstellung ist, dass die beiden Strings Variablen sind, so die Zitate aus den Variablen entfernen, damit Ihr Code soll wie folgt aussehen:

#This is where I ask the user for input for a value 
UI = print (float(input("Enter your value here: "))) 
#Here I have numbers that I need to multiply the input by 
FRT = (float(0.290949) 
SRM = (float(0.281913) 
#Remove the quotes from the variables below and you get this 
QV = (float(FRT*UI)) 
SV = (float(SRM*UI)) 
+0

Einige Probleme hier: 'UI' ist jetzt' None' und es gibt zu viele und zu viele fehlende Klammern. Bitte testen Sie Ihren Code vor der Veröffentlichung. – MrT

Verwandte Themen