2016-06-13 9 views
0

Ich habe eine harte Zeit zu verstehen, wie man mit Funktionen arbeitet - ich kann dann machen, aber danach weiß ich nicht, wie man sie benutzt. Meine Frage ist, wie kann ich diesen Code mit einer Funktion drucken?Wie vervollständige ich diese Funktion und drucke sie dann mit Python aus?

string = "Hello" 
reverse = string[::-1] 
print(reverse) 

Ich versuchte, es in einer Funktion setzen, aber ich kann es nicht Hallo machen drucken.

def reverse_a_string(string): 
    string = "Hello" 
    reverse = string[::-1] 
    print(reverse) 

auch versucht, diese

def reverse_a_string(string): 
    string = "Hello" 
    reverse = string[::-1] 

print(reverse) 

Nichts scheint zu funktionieren. Ich habe das gleiche Problem damit.

total = 0 

def length(words): 

    for i in words: 
     total += 1 
    return total 
+0

Sie müssen einem sehr schlechten Tutorial folgen, man ... Wenn Sie einen Wert an eine Funktion übergeben, wird ihr Inhalt normalerweise nicht sofort durch eine Konstante _replace_ ersetzt.Sie rufen Funktionen einfach wie 'sin (Radiant (30))' oder in Ihrem Fall, ähnlich wie bei 'Druck (Länge ([ "Hallo", "Welt"]))' – ForceBru

+0

nicht klar, was Sie fragen. Ihr erstes Beispiel funktioniert gut. – pvg

+0

@pvg, soweit ich verstehe, er weiß nicht, wie die Funktionen _call _... – ForceBru

Antwort

2

Funktionen ohne Rückgabewert

Funktionen, die nur Maßnahmen ergreifen, oder etwas tun, ohne einen Wert zurückgibt (zB print).

def sayHello(): 
    print "Hello!" 

und kann verwendet werden (genannt) wie folgt aus::
Funktionen, wie das keinen Wert zurückgeben kann definiert werden

sayHello() 

Und der Ausgang sein wird:

Hallo!

Funktionsparameter

Eine Funktion auch Parameter (Variablentyp) vom Anrufer empfangen kann. Es ist besser, es mit einem Beispiel zu demonstrieren.
Eine Funktion, die einen Namen und begrüßt diesen Namen erhält:

sayHelloTo("Yotam") 

und der Ausgang wird sein:

Hallo Yotam

kann

def sayHelloTo(name): 
    print "Hello", name 

Es ist wie es genannt werden

Die Parameter sind die der Funktion Eingang.

Funktionen mit einem Rückgabewert

Andere Funktionen, im Gegensatz zu sayHello() oder sayHelloTo(name) (das nur etwas tut) können einen Wert zurückgeben. Nehmen wir zum Beispiel eine Funktion, die würfelt (gibt eine Zufallszahl zwischen 1 und 6 zurück). aus zufälligen Import randInt

def rollDice(): 
    result = randint(1, 6) 
    return result 

Das return Schlüsselwort die output value der Funktion nur setzt und beendet die Funktion. Ein Beispiel für die Verwendung der rollDice Funktion sein:

dice = rollDice() 
print "The dice says", dice 

Wenn die Funktion einen return Schlüsselwort trifft, es beendet und der Rückgabewert (in unserem Fall die Variable result) wird anstelle der Funktionsaufruf gesetzt werden. Nehmen wir an randint(1, 6) hat die Nummer 3 produziert.
Ergebnis wird 3.
Ergebnis wird zurückgegeben.
Nun, statt der Zeile:

dice = rollDice() 

wir die Linie behandeln wie:

dice = 3 

Funktionen mit Parametern und Rückgabewert

( rollDice() mit 3 ersetzt wurde)

Einige Funktionen (z. B. mathematische Funktionen) können Eingänge nehmen und Ausgänge erzeugen. Nehmen wir zum Beispiel eine Funktion, die 2 Zahlen empfängt und die größere ausgibt.

def max(a,b): 
    if a > b: 
     return a 
    else: 
     return b 

Was es tut, ist ziemlich klar, nicht wahr? Wenn a größer ist, wird der Wert zurückgegeben. Andernfalls wird der Wert b zurückgegeben.

Nun, Ihr Fall

Was Sie tun möchten, ist

:

Es kann so verwendet werden:

print max(4, 6) 

Und der Ausgang wird eine Funktion, die eine Zeichenkette umkehrt. Es sollte 1 Parameter (Eingabe) - die Zeichenfolge, die Sie umkehren möchten, und 1 Wert ausgeben - die umgekehrte Zeichenfolge. Dies kann so erreicht werden:

def reverse_a_string(my_text): 
    return my_text[::-1] 

jetzt du so etwas tun kann:

s = raw_input("Please enter a string to be reversed\n") #input in Python3 
r = reverse_a_string(s) 
print r 

r den umgekehrten Wert von s enthalten wird, und wird gedruckt.

Über Ihre zweite Funktion - nun, ich nehme an, basierend auf dieser Antwort können Sie es selbst machen, aber kommentieren Sie mich, wenn Sie Hilfe mit dem zweiten brauchen.

Lokale Variablen

über Ihr drittes Beispiel:

def reverse_a_string(string): 
    string = "Hello" 
    reverse = string[::-1] 

print(reverse) 

Dies ist etwas, das wirklich wert ist, zu verzögern und Verständnis.
Die Variable reverse wird zuerst innerhalb der Funktion verwendet. Dies macht es eine lokale Variable.
Dies bedeutet, dass die Variable beim Aufruf der Funktion im Speicher abgelegt wird und nach dem Ende des Aufrufs gelöscht wird. Sie können sagen, dass die Lebensdauer vom Zeitpunkt des Aufrufs der Funktion bis zum Ende der Funktion reicht.

Das heißt, selbst wenn Sie reverse_a_string(string) angerufen haben, können Sie die Variable reverse nicht außerhalb der Funktion verwenden, da dies local wäre.
Wenn Sie einen Wert wie das passieren wollen, müssen Sie außerhalb der Funktion Ihre Variable „erklären“ und die globalen Schlüsselwort zu verwenden, wie folgt aus:

reverse = "" #This makes reverse a global variable 
def reverse_a_string(string): 
    global reverse #Stating that we are going to use the global variable reverse 
    reverse = string[::-1] 

# Then you can call it like that: 
reverse_a_string("Hello") 
print reverse 

Der Ausgang

wird

olleH

Obwohl es stark nicht empfohlen es in Python zu tun, oder in jedem oth er Sprache.

1

Ich weiß nicht, ob Sie zu fragen, wie Funktionen in Python oder etwas anderes

definieren Wenn Sie Python Funktionen erfahren möchten, gehen Sie zu http://www.tutorialspoint.com/python/python_functions.htm oder Python Tutorial nur in Google schreiben, werden Sie bekommen Milliarden von guten Standorten

def reverse_a_string(string): 
    #function definition 
    reverse = string[::-1] 
    print(reverse) 

#function call 
reverse_a_string("your string") 

Aber Sie Funktion für diese definieren, können Sie einfach tun

print(string[::-1]) 
1
# defines the 'Reverse a String' function and its arguments 
def reverse_a_string(): 
    print(string) 
    reverse = string[::-1] 
    print(reverse) 


print("Type a string") # asks the user for a string input 
string = input() # assigns whatever the user input to the string variable 
reverse_a_string() # simply calls the function 

für Funktionen, müssen Sie die Funktion definieren, dann rufen Sie einfach mit dem Funktionsnamen dh funtion()

In meinem Beispiel habe ich für einen String fragen, weisen Sie, dass auf die Variable, und Verwendung es innerhalb der Funktion. Wenn Sie nur Hallo drucken möchten (ich bin ein wenig unklar von Ihrer Frage), dann funktioniert auch das Einfügen des Ausdrucks ("Hallo") oder des variablen Ausdrucks (Zeichenfolge) innerhalb der Funktion.

2

Sobald Sie eine Funktion erstellt haben, müssen Sie sie aufrufen. Sie haben die Funktion reverse_a_string erstellt, aber Sie rufen sie nie wirklich an. Stellen Sie sich eine Funktion als eine Schaltfläche vor, die bei jedem Drücken (oder in unserem Fall) etwas tut. Wenn Sie nie den Knopf drücken, dann wird es, obwohl es das Potenzial hat, etwas zu tun, nie werden. Damit der Satz von Anweisungen passieren kann, müssen wir den Knopf drücken (oder in unserem Fall die Funktion aufrufen). Also, um für Ihren Code, den Sie zuerst müssen arbeiten, um die Funktion definieren, dann ist es eigentlich nennen:

def reverse_a_string(): 
    string="Hello" 
    reverse = string[::-1] 
    print reverse 

reverse_a_string()

Ergebnis: ‚olleH‘

Wenn Sie Ihre eigene passieren String an die Funktion, damit es nicht nur die ganze Zeit ‚olleH‘ Bringen Sie Ihren Code wie solche aussehen muss:

def reverse_a_string(stringThatWillBeReversed): 
    reverse = stringThatWillBeReversed[::-1] 
    print reverse 

reverse_a_string('whateverStringYouWant') 

Ergebnis: die Rückseite der Zeichenfolge eingegeben.

Hoffe, dass hilft!

Verwandte Themen