2017-10-11 6 views
-4

私は、ユーザ指定の出力に従ってボックス(中空)を印刷するという割り当てを持っています。関数名と目的が割り当てられます。pythonを使って中空のボックスを作る方法

print_box()でこのコードを呼び出して答えを入力すると、ボックスは表示されません。

コード:問題の

def print_line(ch, size): 
    print(ch) 
    for index in range(4): 
     print(ch, end ="") 
    print(ch) 

def get_size(): 
    n = int(input("Enter a number between 3 and 8: ")) 
    while n < 3: 
     n = int(input("Wrong, enter a number between 3 and 8: ")) 
    return n 

def get_char(): 
    ch = input("Enter a character (* or -): ") 
    while ch not in ‘*-’: 
     ch = input("Please try again: ") 
    return ch 

def print_box(): 
    size = get_size() 
    ch = get_char() 
    print_line(ch, size) 

print_box() 
+0

コードを書式設定してください。それを謝罪しないでください:P – Shadow

+1

ようこそStackOverflowへ。ヘルプドキュメントの投稿ガイドラインを読み、それに従ってください。 [最小、完全で検証可能な例](http://stackoverflow.com/help/mcve)がここに適用されます。 MCVEコードを投稿して問題を正確に記述するまでは、効果的にお手伝いすることはできません。 投稿したコードをテキストファイルに貼り付け、説明した問題を再現できるはずです。 ユーザーツアーでは、投稿の書式設定方法をメモするように指示しています。 – Prune

答えて

1

パートはあなたが任意のボックス印刷する方法を考え出したも前にコードを支援する多くのことを書いてきたということです。とりわけ、必要な2種類の行を印刷することはできません。今のところオーバーヘッドを落としてください。あなたはその後、バックアップたらが動作していること、は、あなたが入力をいじることができ

print_box("*", 5) 

に及び、print_line作業を持っている場合

print_line("*", 5) 

の簡単なメインプログラムでこれをテストします検証。あなたは印刷文、そこから来ている文字を伝えることができるので、その間に

が、ここで、あなたがテストを支援するための簡単な変更です:

def print_line(ch, size): 
    print("1") 
    for index in range(4): 
     print("2", end ="") 
    print("3") 

は出力:

1 
22223 

ことを示していあなたのロジックのいくつかの問題?

あなたは多くのことを正しくやっています。

関連する問題