2017-10-11 41 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

部分原因是,你已經寫了很多的支持,你已經找到了如何打印任何禁區前以及代碼。除其他外,您無法打印您需要的兩種類型的線。現在降低開銷;與

print_line("*", 5) 

一個簡單的主程序測試這個當你有print_line工作,然後再返回到

print_box("*", 5) 

一旦工作,然後你可以輸入小提琴和驗證。

在此期間,這裏有一個簡單的變化,幫助你測試,這樣你就可以知道哪些字符來自哪個打印聲明:

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

輸出:

1 
22223 

這是否顯示你的邏輯中的一些問題?

繼續:你正在做很多事情。