2014-01-14 3 views
2

Это назначение:Создание пирамиды с использованием символов в Python

Напишите функцию питона, которая принимает характер и целое число, а затем использует этот символ, чтобы создать треугольную структуру, как в примере ниже. Убедитесь, что количество строк находится в диапазоне от 1 до 10 и что используется только первый символ в введенном пользователем символе, если они вводят более одного символа.

Symbol? * Линии? 4

* 
    * * 
    * * * 
* * * * 

У меня есть все, кроме расстояния справа ... вот что я выяснил до сих пор.

def Triangle(): 
    lines = -1 
    while lines not in range(1,11): 
     symbol=input("Symbol? ") 
     lines=input("Lines? ") 
    for i in range(lines + 1): 
     spaces = lines - i 
     print ((' ' * spaces) + (symbol * i)) 

Это печатает:

 * 
    ** 
    *** 
    **** 

Не похоже, чтобы получить это право ... мысли? Также, если у кого-то есть идеи о том, как обеспечить, чтобы только первый символ использовался как символ, как указано в вопросе, это было бы удивительно.

+0

+1 Я видел это задание разместил десятки раз здесь, это первый раз OP действительно пытался что-то :) –

+0

Вы используете Python 2 или 3? Если 3, ваш вызов 'input()' возвращает строку, а цикл 'while' будет продолжаться бесконечно. Если Python 2, вам нужно ввести '' * ''для символа, поэтому вместо этого вы можете использовать' raw_input() '. –

ответ

1

Вам нужно добавить в пространствах после каждого символа:

print ((' ' * spaces) + ((symbol + ' ') * i)) 
+0

Это кажется очень неправильным? Его начальный интервал правилен, и * i привязывается к '' на данный момент. –

+0

@PeterdeRivaz: I miscounted .. –

+0

Выглядит хорошо сейчас, +1 –

Смежные вопросы