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

这是否显示你的逻辑中的一些问题?

继续:你正在做很多事情。