Member 14188738 Ответов: 2

Как отобразить квадрат внутри квадрата


Я пытаюсь заставить свою программу выводить квадрат внутри квадрата, используя только те функции, которые я определил, но я не могу заставить все выстроиться в линию. Я получил пустые квадраты и наполовину заполненные квадраты, но этот квадрат внутри квадратного бизнеса я не могу понять. Вот программа с примером вывода:

def star():
""" Display a star without the normal new line """
print('*', end='')

def fill():
    """ Display a fill character without the normal new line """
    print('#', end='')

def space():
    """ Display a space without the normal new line """
    print(' ', end='')

def newline():
    """ Display a new line """
    print()

def squareInSquare(outerSize, innerSize):
    """ Display a small square inside a larger square
        - This example has outerSize = 10, innerSize = 4

    print('Outer and inner square of size', outerSize, 'and', innerSize)


Что я уже пробовал:

Я не знаю, как подойти к этому, я научился делать полый квадрат и заполненный квадрат, но я не уверен, как объединить их в то, что это должно быть.

Richard MacCutchan

Где недостающий код и выходные данные?

Mohibur Rashid

Заблудился в толковании!!

Patrice T

Завершите свой код тем, что вы уже сделали (один квадрат).

2 Ответов

Рейтинг:
2

CPallini

С помощью двух вложенных циклов вы можете перебирать всю внешнюю квадратную область.

На каждой позиции (row, col) проверьте, находитесь ли вы либо на

  • внешняя квадратная граница
или на самом деле
  • внутренняя квадратная граница
или, в конце концов, на
  • пустая область

Распечатайте соответственно (row, col) характер.


Рейтинг:
0

Patrice T

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

Работа, которую вы изучаете, заключается в создании алгоритмов, если мы просто дадим вам полное решение, вы ничего не узнаете, и это разрушит цель домашней работы.
Обучение созданию алгоритмов происходит с опытом и экспериментами, вы учитесь, видя, что работает, а что нет. Это процесс из первых рук, никто не может сделать это за вас.

Совет: делайте комплекс сопутствующих упражнений все более и более сложным.
- распечатайте игровое поле размером 20x30, заполненное буквой".", сделайте так, чтобы тий мог изменить размер игрового поля
- добавить функцию для печати звезды "*" в заданном положении
- измените код для большего количества звезд
- добавить функцию для печати квадрата "#" в заданном положении
- измените код для большего количества квадратов
- добавить функцию для печати прямоугольника "#" в заданном положении
- измените код для большего количества прямоугольников
- добавить функцию для печати квадратов с центром на игровом поле


Чтобы помочь вам понять, почему что-то не работает, изучите отладчик, это невероятный инструмент обучения.
Отладчик - Википедия, свободная энциклопедия[^]

Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]
Базовая отладка с помощью Visual Studio 2010 - YouTube[^]

27.3. ПДБ — отладчика Python — питон 3.6.1 документации[^]
Отладка в Python | Python покоряет Вселенную[^]
pdb – интерактивный отладчик - Python модуль недели[^]

Отладчик здесь только для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.