2016-07-01 13 views
0

私はHangmanのためのプログラムをPython 2.7で書いています。私は指輪と吊り下げられた姿を私が文字列として組み立ててリストに入れるよりもむしろプログラムを手に入れようとしています。私の問題は、連続したprintステートメントからの出力が私に欲しいものを与えてくれますが、コードを関数に入れると、結果は歪んでいます。関数内での印刷mainのprint文のシーケンス

print chr(47).rjust(4), # Right arm   
print chr(124), # backbone 
print chr(92) + chr(124) # Left arm + tree 

は私この/|\ |を与える---内側削減機能で

を連結している。

def erect_gallows(bad_guess): 
    if bad_guess == 1: 
     print chr() - - - 
     ..... 
     ..... 

これは私にこれを与える - スラッシュと/ | \ |ずれて、分離しました。 print文がなぜ機能の外部で動作するのか分からない。この関数は何も返さず、単に出力します。

+0

問題を表示するために必要な最小限に減らし、実際のコードを、入力してください。あなたがこれまで投稿したことはそれをしません。メインとファンクションの両方のバージョンから同じ出力が得られます。 – Prune

答えて

0

あなたのコードとストレートソリューションの実装。簡単に言えば、printステートメントでは、別々の出力フィールドを使い分けることをやめることをお勧めします。必要な文字列を作成して印刷するだけです。

def erect_gallows(bad_guess): 
    if bad_guess == 1: 
    print chr(47).rjust(4), # Right arm   
    print chr(124), # backbone 
    print chr(92) + chr(124) # Left arm + tree 


print "--- Main code ---" 
print chr(47).rjust(4), # Right arm   
print chr(124), # backbone 
print chr(92) + chr(124) # Left arm + tree 
print "--- Func code ---" 
erect_gallows(1) 
print "--- 1-line code ---" 
print chr(47).rjust(4) + chr(124) + chr(92) + " " + chr(124) 

出力:

--- Main code --- 
/| \| 
--- Func code --- 
/| \| 
--- 1-line code --- 
    /|\ | 
関連する問題