2016-06-13 3 views
0

私は関数を扱う方法を理解するのに苦労しています。私はそれを作ることができますが、その後は使用方法がわかりません。私の質問は、どのように私は関数でこのコードを印刷できますか?この関数を完成させ、それをPythonを使って出力するには?

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

機能に入れてみましたが、印刷できませんでした。

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

もこの

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

print(reverse) 

何も動いていないようにみえてみました。私もこれと同じ問題を抱えています。

total = 0 

def length(words): 

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

あなたは、非常に悪いチュートリアルのmanに従っている必要があります。ある値を関数に渡すと、通常、その内容はすぐに定数で置き換えられません。'sin(radians(30))'のような関数を呼び出すか、 'print(length([" hello "、" world "]))に似ています)' – ForceBru

+0

あなたが何を求めているのかはっきりしません。あなたの最初の例はうまく動作します。 – pvg

+0

@pvg、私が理解する限り、彼はどのように関数を呼び出すのか知らない_ _ ... – ForceBru

答えて

2

機能だけで行動を取るか(例えば、print)値を返さずに何かを

機能。

def sayHello(): 
    print "Hello!" 

そして、そのように(と呼ばれる)を使用することができます:値を返さない
機能はそのように定義することができ

sayHello() 

、出力は次のようになります。

こんにちは!

機能

機能はまた、発信者からのパラメータ(変数の型)を受信可能なパラメータ。例でそれを実証する方が良いでしょう。
名を受け取り、この名前に挨拶機能:

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

それはそのように呼び出すことができます。

sayHelloTo("Yotam") 

、出力は次のようになります。

こんにちはYotam

パラメータは、関数の入力。戻り値と

機能sayHello()またはsayHelloTo(name)とは異なり

その他の機能は、(単に何かをすること)の値を返すことができます。例えば、サイコロを振る関数を作ってみましょう(1から6までの乱数を返します)。 ランダム輸入randint

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

からreturnキーワードだけで機能のoutput valueを設定し、機能を終了します。 rollDice機能の使用例は次のようになります。

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

機能がreturnキーワードにヒットすると、それが終了すると、戻り値(我々の場合には、変数result)は、関数呼び出しの代わりに配置されます。 randint(1, 6)が3を生成したとしましょう。
結果は3になります。
結果が返されます。
さて、代わりにラインの:として私たちはラインを扱うことができ

dice = rollDice() 

dice = 3 

rollDice()3に置き換えた)パラメータを持つ

関数と戻り値

一部の関数(たとえば、数学関数)は、入力を受け取り、出力を生成することができます。例えば、2つの数値を受け取り、大きな数値を出力する関数を作ってみましょう。

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

それはかなり明確ですね。 aが大きい場合は、その値を返します。それ以外の場合は、bの値を返します。

それはそのように使用することができます:

print max(4, 6) 

、出力は次のようになります。

さて、あなたは何をしたいのか、あなたの場合

があります文字列を反転する関数。 1つのパラメータ(入力)を取る必要があります。逆にする文字列と1の値を返します。逆の文字列です。これは、そのように行うことができます。

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

rはSの逆の値が含まれます、そして印刷されます。

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

今、あなたはそのような何かを行うことができます。

あなたの2番目の機能について - 私はこの回答に基づいて自分で作れると思っていますが、2番目の機能で援助が必要な場合はコメントしてください。あなたの第三例について

ローカル変数

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

print(reverse) 

これは本当に遅らせ価値と理解されるものです。
変数reverseは、最初にの内部にが使用されます。これにより、ローカル変数になります。
これは、関数が呼び出されると変数がメモリに格納され、終了すると変数が削除されることを意味します。機能が呼び出されてから機能が完了するまでの生涯だと言うことができます。

reverse_a_string(string)を呼び出した場合でも、ローカルとなるため、reverse_a_string(string)を呼び出しても、関数の外部でreverse変数を使用できなくなります。
あなたがそのような値を渡したいならば、あなたは、関数の外であなたの変数を「宣言」するとグローバルキーワードを使用するために、そのように持っている:

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 

出力は

になります

olleH

それはが強くPythonでそれを行うにはを推奨、または任意のOTHではありませんがエル言語。

1

私はあなたがPythonや何か他の関数を定義する方法を求めているかどうかわからない

あなたがhttp://www.tutorialspoint.com/python/python_functions.htmに行くか、単にGoogleの中のpythonチュートリアルを書き、Pythonの機能を学びたいのであれば、あなたは意志良いサイト

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

#function call 
reverse_a_string("your string") 

の十億を取得しかし、あなたは、単に

print(string[::-1]) 
を行うことができ、このために関数を定義します私の例では0の関数の
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 

、あなたは関数を定義する必要があり、その後、単純に)(関数名、すなわち目的球とそれを呼び出す

、私は文字列を求める、変数、および使用することを割り当てますそれは機能の中にある。ちょうどあなたの質問から少し不明ですhelloを印刷したい場合は、単純にprint( "hello")または変数print(string)を含めて、関数内でもうまく動作します。

2

関数を作成したら、それを呼び出す必要があります。関数reverse_a_stringを作成しましたが、実際に呼び出すことはありません。ファンクションは、プッシュされるたびに何かを行うボタンと考えることができます。何かをする可能性があるにも関わらずボタンを押さないと、は決してになります。一連の命令が実行されるためには、ボタンを押す必要があります(またはこの場合は関数を呼び出します)。だから、あなたの関数を定義するための最初の必要性を動作するようにあなたのコードのために、実際にそれを呼び出す:

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

reverse_a_string()

結果:「olleH」

あなたがあなた自身を渡したい場合はそれはちょうどあなたのコードが必要とする「olleH」すべての時間を返さないので関数の中の文字列は、このようなように見えるように:

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

reverse_a_string('whateverStringYouWant') 

結果:あなたが入力した文字列の逆を。

希望に役立ちます!戻り値なし

関連する問題