关于在循环中添加字符的问题

2024-04-20 09:42:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在学习编程入门课程,我想知道如何编写基于用户输入高度和字符的三角形代码。这是我开始做的,但它会失败,因为我无法找出如何打印多个字符每行基于用户的高度输入。对我需要改变什么有什么想法吗?这本书没什么帮助,我还不熟悉合适的术语,所以我的搜索没有发现任何有用的东西,谢谢!你知道吗

triangle_char = input('Enter a character:\n')
triangle_height = int(input('Enter triangle height:\n'))
print('')
i = 0
while i <= 0:
    if i > triangle_height:
        break
    print(triangle_char)
    i = i + 1 
    if i == 1:
        print(triangle_char, triangle_char)
        i = i + 1
    if i == 2:
        print(triangle_char, triangle_char, triangle_char)

Tags: 代码用户inputif高度编程字符课程
2条回答

在这里,有一千种方法可以做你想做的事。以下是创建对称三角形的示例:

def draw_line(i, char, total_height):

    if i == total_height:
        print ( char * (2 * total_height - 1) )
        return None

    side = (total_height - i) * " "

    if i == 1:
        middle = char
    else :
        middle = char + (2*i - 3) * " " + char

    print( side + middle + side )
    return None


def create_triangle(char="*",  height=5):

    for i in range(1, height+1):
        draw_line(i, char, height)

    return None


if __name__ == '__main__':
    create_triangle("^", 7)

这将输出:

      ^      
     ^ ^     
    ^   ^    
   ^     ^   
  ^       ^  
 ^         ^ 
^^^^^^^^^^^^^

使用像Python这样的脚本语言,您可以通过一系列有用的函数轻松地操纵字符串。祝你好运!你知道吗

如果我正确理解了你的工作代码,我想你需要一个直角三角形。在这种情况下,可以使用单个for循环,并使用join在字符之间放置空格" "triangle_char*i重复字符i次,其中i范围从1triangle_height。你知道吗

triangle_char = input('Enter a character:\n')
triangle_height = int(input('Enter triangle height:\n'))
print('')

for i in range(1, triangle_height + 1):
    print(" ".join(triangle_char*i))

Enter a character:
*
Enter triangle height:
6

*             # ^
* *           # | 
* * *         # | height = 6
* * * *       # | 
* * * * *     # |
* * * * * *   # v

相关问题 更多 >