Как объединить два кода?

Мне кажется, что нарезка - это не столько проблема, которая отличается от того, когда ваши собственные классы и программы плохо архивируются / разработаны.

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

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

-1
задан Abdul Moiz 24 March 2019 в 16:15
поделиться

2 ответа

Вот, пожалуйста.

integer=int(input("Enter an integer:"))


print("*"*integer + "  " + "*"*integer)

for i in range(integer-2):
    print("*"*integer + "  " + "*" + " "*(integer-2) + "*")

print("*"*integer + "  " + "*"*integer)

Вывод:

Enter an integer: 5

*****  *****
*****  *   *
*****  *   *
*****  *   *
*****  *****

В качестве альтернативы, здесь гораздо проще понять:

integer=int(input("Enter an integer:"))



full = "*"*integer
cap = full + "  " + full
hollow = "*" + " "*(integer-2) + "*"

print(cap)
for i in range(integer-2):
    print(full + "  " + hollow)
print(cap)

Производит идентичный вывод

0
ответ дан PrinceOfCreation 24 March 2019 в 16:15
поделиться

Этот код работает, разделяя две уникальные строки:

integer=int(input("Enter an integer:"))


print("*"*integer + "  " + "*"*integer)

for i in range(integer-2):
    print("*"*integer + "  " + "*" + " "*(integer-2) + "*")

print("*"*integer + "  " + "*"*integer)
0
ответ дан alec_a 24 March 2019 в 16:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: