2016-05-08 2 views
0

Ich versuche, ein Programm zu schreiben, das die max. Gewinn und eine Funktion ist die "Steilung", die ich zum optimalen Preis ausarbeiten muss.Wie kann ich etwas an ein Ergebnis einer Funktion anhängen und speichern, dass in einer Variablen in Python

Also, was ich habe, ist:

def Steigung(): 
    Propreis=eval(raw_input("Dein hoechster Preis:")) 
    Satmenge=eval(raw_input("Wie viele leute werden es kaufen:")) 
    if Propreis >0 and Satmenge >0: 
     print(-1*Satmenge/Propreis) 

und das funktioniert gut, aber was ich will zu tun ist, den Wert auf fügt ich in „Satmenge“ angegeben, so dass das Ergebnis zum Beispiel ist, wenn Satmenge = 100000 und Propreis = 6 ist -16666x + 100000 anstelle von -16666 und wie kann ich das gewünschte Ergebnis in einer Variablen speichern, um es später zu verwenden? Vielen Dank im Voraus

+5

nicht eval verwenden, wenn Sie einen int wollen dann zu einem int. Wenn Sie den Wert außerhalb der Funktion verwenden möchten, sollten Sie ihn zurückgeben. –

+0

Der obige Kommentar funktioniert gut, wenn Sie Python 3 verwenden. Da Ihr Code auf "rohe_eingabe (...)" verweist, glaube ich nicht, dass Sie das sind . Sie können ein float oder int vom Benutzer in Python 2 mit nur regulären 'input (...)' lesen, zum Beispiel: 'Propreis = input (" Dein Höchstpreis: ")'. Außerdem wäre es nützlich, pep8 in Ihrer Codedatei zu verwenden, um Standard-Python-Namenskonventionen usw. zu verwenden. –

+0

@tedmiston: Der Python-2-Stil 'input' unterliegt den meisten (alle?) Der gleichen Sicherheitslücken wie' eval' --- Der Benutzer kann Ihr Programm machen fast alles, was er oder sie will. Deshalb wurde es aus Python 3 entfernt und durch Python 2 ersetzt, das in python 3 umbenannt wurde. Ein 'try' Block mit' Propreis = int (raw_input ('...')) 'ist _much_ sicherer. –

Antwort

2

Sie können mehrere Werte in der folgenden Art und Weise zurück:

def Steigung(): 
    Propreis=eval(raw_input("Dein hoechster Preis:")) 
    Satmenge=eval(raw_input("Wie viele leute werden es kaufen:")) 
    if Propreis >0 and Satmenge >0: 
     print(-1*Satmenge/Propreis) 
    return Propreis, Satmenge 

und speichern Sie die zurückgegebenen Werte wie folgt aus:

a, b = Steigung() 
Verwandte Themen