2015-04-19 2 views
-5

Мне нужно использовать диапазоны и функции для печати флага Соединенного Королевства. Я решил, что мне нужно три отдельных диапазона для печати. диапазон (5) для двух верхних треугольников, одиночная косая черта и первые три линии виртуария красного креста наверху. Я предположил, что функция repeat() будет использоваться для второй половины флага, или я бы просто обратил обоснования для первой половины.python ASCII art - британский флаг

Горизонтальная линия, идущая слева направо - это простые 47 строк букв, а нижний диапазон будет таким же, как верх, только перевернутый.

Мой код для диапазона - это просто Красный, белый и синий являются функциями сами по себе.

for t in range(5): 
    print(red(1, "R") + white(3, " ") + blue(8, "B") + white(2, " ") 
+ red(2, "R") + red(3, "R") + white(2, " ") + blue(8, "B") + 
white(2, " ") + red(1, "R")) 

Мой prolem, что мне нужно знать, как от установки каждой из напечатанных линий с диапазоном, используя заявление один печати, так что я беру

R BBBBBBBB BBBBBBBB R 
R BBBBBBBB BBBBBBBB R 
R BBBBBBBB BBBBBBBB R 
R BBBBBBBB BBBBBBBB R 
R BBBBBBBB BBBBBBBB R 

и превратить его в нечто вроде этого

R  BBBBBB RRRRR BBBBBB R 
RR BBBBB RRRRR BBBBB RR 
    RR BBBB RRRRR BBB RR 
    RR BB RRRRR BB RR 
     RR B RRRRR B RR 

Пожалуйста, имейте в виду, что это должно быть напечатано в терминале, таким образом, почему я использую письма repersent цвета, которые должны бр отпечатанные. У меня нет приведенных выше изображений к размеру, которое мне нужно, но это простой вопрос математики, который я могу сделать сам по себе. (В общей сложности 47 символов в ширину и 15 вниз)

+0

Форматирование вопросов в стороне, мой вопрос остается тем же. Как печатать несколько строк из одного диапазона, по-разному портиться каждый раз при печати? Почему ваш сайт делает форматирование настолько сложным? Способ появления кода - это то, как я его ввел, если есть некоторые специальные символы, которые должны быть напечатаны первыми, то это должно быть более четко объяснено в каком-то руководстве по эксплуатации. – NotaGoodProgrammer

+0

У вас есть downvotes, потому что ваш вопрос звучит как домашнее задание, и вы ожидаете, что другие сделают это за вас. Вопросы домашнего задания на этом сайте в порядке, но вам нужно показать людям, как их решить, только тогда вы можете рассчитывать на помощь. –

+0

Я заявил, что единственная проблема, с которой я сталкиваюсь, заключается в том, что я не знаю, как изменить оператор печати. Все остальное было сделано. Кажется, нет никакой информации об изменении строк оператора печати в диапазоне больше 1. – NotaGoodProgrammer

ответ

0

Edit 2:

После выяснения вопроса я полностью переписал.

Что вам нужно сделать, так это создать класс или запрограммировать его полностью вручную. Стартовый для класса будет:

class FlagDrawer(object): 

    def __init__(lines, colors,....): 
     lines = self.lines 
     colors = self.colors 
     other variables 

    def make_lines(self.lines): 
     for lines in range(self.lines): 

    . 
    . 
    . 

Если вы используете только этот флаг для одной конкретной задачи, и только с помощью одного флага я просто предлагаю писать его вручную вмещающим его в тройных кавычках то есть («» 'text' ''). Есть несколько писем о сохранении одного и того же текста для изображений для создания таблиц и использования той же идеи для вашего флага.

+0

Благодарим вас за сообщение. Я думаю, что, возможно, была некоторая ошибка в объяснении того, что мои красные, синие и белые функции. Поскольку мои цветные функции - это то, что вы только что объяснили. Они позволяют мне вводить interger и строку. Таким образом, когда я называю красный (2, «R»), я получаю RR.Поэтому, когда я называю печать (красный (5, «#») + синий (6, «@»)), я распечатываю ##### @@@@@@ Моя проблема заключается в формировании диапазона (5) print сделать пять строк, которые будут удалены в зависимости от того, что я ввел в инструкцию печати. – NotaGoodProgrammer

+0

Что вам нужно сделать, так это использовать класс, который делает определенные вещи для строки. (предполагается, что вы хотите сделать то же самое для нескольких строк или цветов) или просто запрограммируйте его вручную. – user2723240

+0

Можете ли вы порекомендовать какую-либо должность или книги, которые научат кого-то программировать класс? – NotaGoodProgrammer

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