2016-03-25 9 views
-4

私は自分のコードを繰り返したいと思っています。たとえば、ユーザーがhelloを書くときにhelloを入力し、helloを入力してユーザーに入力を再生します。ユーザが何か他のものを書き込むと、最後の出力は最後の入力の出力ではない。 コードを実行して、あなたが何を言っているかを取得してください。Pythonでコードの一部を繰り返す3.4.4

percent_of_loading = 0 
admin_name = 'John' 
admin_familyname = 'Doe' 
admin_fullname = 'John Doe' 
admin_age = 15 
percent_of_loading += 100 
u = input('What Are Your Commands?\n=>') 
def A(): 
    input('What Are Your Commands?\n=>') 
def B(): 
    print('Error 5:Access Is Denied!') 
    A() 
if u == 'admin_name': 
B() 
elif u == 'admin_familyname': 
    B() 
elif u == 'admin_fullname': 
    B() 
elif u == 'admin_age': 
    B() 
elif u == 'hello': 
    print('Hello, My Friend') 
    A() 
else: 
    print('Error 404') 
    A() 
+1

なぜwhileループを使用しないのですか? – cdarke

+4

動作していない 'while'と、完全なトレースとエラーメッセージを表示します。あなたがそうするなら、自分でエラーを解決することができます。あなたがしているのは、他人のコードをコピーして貼り付けるだけであれば、プログラムを学ぶことは決してありません。 – cdarke

答えて

0

あなたが繰り返すコードしているしたい場合は、(whileforなど)の言語から構築ループを使用することができます。

def a_functioin() 
    pass 

a_function() # this runs once 

forループが有用である(正確に100倍のような)所定回数のためのコードの一部を実行するために、またはリスト内のすべての要素のコードを実行する:

for i in range(100): 
    a_function() 

は限り条件が成立してコードの一部を実行するために、whileループが便利です:

def condition(): 
    pass # implement some condition, returning True, or False 

while condition(): 
    a_function() 

上記のコードの場合、それはレアを保持し、コマンド・インタフェースのように思えます入力を処理し(何かを出力するかもしれない)、次の入力を待っているので、繰り返しが必要です。 その場合、無限ループが必要とされるように、それはこのように、なります

(私は彼らが一度定義しているので、ループの外で関数定義をもたらしたが、ループ内で呼ばれている):

def A(): 
    return input('What Are Your Commands?\n=>') 
def B(): 
    print('Error 5:Access Is Denied!') 

while True: 
    u = A() 
    if u == 'admin_name': 
     B() 
    elif u == 'admin_familyname': 
     B() 
    elif u == 'admin_fullname': 
     B() 
    elif u == 'admin_age': 
     B() 
    elif u == 'hello': 
     print('Hello, My Friend') 

(私は頻繁に変更/改善していないので、元の質問への回答はコードで分かりやすくなります)。

ユーザーに入力を依頼してこのような処理を依頼するプログラムを実装する場合は、標準ライブラリのcmdモジュールが役立ちます。

関連する問題