2016-09-07 12 views
-2

私はこの練習をしており、プログラムの最初の部分は正常に動作していましたが、実行しようとすると今はNoneと表示され、何も "間違っている" 。私は、何が間違っているか把握するのに十分なことは知らない。プログラムは実行されません

def main(): 
    """Gets the job done""" 

#this program returns the value according to the colour 
def re_start(): 
    #do the work 
    return read_colour 

def read_names(): 
    """prompt user for their name and returns in a space-separaded line""" 
    PROMPT_NAMES = input("Enter names: ") 
    users_names = '{}'.format(PROMPT_NAMES) 
    print (users_names) 
    return users_names 

def read_colour(): 
    """prompt user for a colour letter if invalid colour enter retry""" 
    ALLOWED_COLOURS = ["whero", 
       "kowhai", 
       "kikorangi", 
       "parauri", 
       "kiwikiwi", 
       "karaka", 
       "waiporoporo", 
       "pango"] 
    PROMPT_COLOUR = input("Enter letter colour: ").casefold() 

    if PROMPT_COLOUR in ALLOWED_COLOURS: 
     return read_names() 

    else: 
     print("Invalid colour...") 
     print(*ALLOWED_COLOURS,sep='\n') 
     re_start() 
main() 
+2

表示されているインデントが正しいですか?そうであれば、あなたの 'main'関数は本体を持たないdocstringなので、もちろんこれは役に立ちません。単純化しようとしたようですが、まず最初にやろうとしていたことを理解するために必要なコードを省略しました。 – ShadowRanger

+0

私は体のテキストを改善しました。最高の英語を使用すると、通常はより良い答えを得るのに役立ちます。 – Ajean

答えて

1

呼び出すだけの関数はmain()ですが、それはそれで何の書類を持っていないので、あなたのコードは何もしません。これを修正するには、main()にいくつかのステートメントを入れ、コードを再実行してください。

+0

たとえば、 'def main():read_color()'をしたいと思っています。また、 'def re_start():read_color()'に2番目の関数を変更します。 – Jon

関連する問題