Здравствуйте, ·, Вы писали:
·>Здравствуйте, Shmj, Вы писали:
S>> Ну давайте за одно и правильное решение — функция на основе произвольного числа пишет большую Х в квадрате.
·>·>void f(int number)
·>{
·> print("X²");
·>}
·>
\n в конце пропущен.
Здравствуйте, Shmj, Вы писали:
S>Формально — да. Но работодатели хотят чтобы вы угадывали их мысли даже при не точной формулировке. Вот в чем фокус.
Как измерить высоту здания с помощью барометра
Здравствуйте, Pyromancer, Вы писали:
P>Да ничего сложного вроде, два цикла и печатай символ еcли хоть одно из 6 условий верно и пробел иначе
P>P>x = 15
P>for i in range(x):
P> for j in range(x):
P> if i in (0, x-1) or j in (0,x-1,i,x-i-1):
P> print('#', end='')
P> else:
P> print(' ', end='')
P> print('')
P>
Задумался, а можно ли упростить условие под if или доказать, что проще нельзя (вопрос, конечно, как определить "проще"):
Я вот сходу только такое придумал, операций тут больше, но сравнений меньше
if (i+j)%n in (i,j,0,2*i,2*i-n)
Ну или еще так можно
if (i%n)*(j%n)*(i-j)*(n-i-j) == 0:
Здравствуйте, Эйнсток Файр, Вы писали:
S>>> Ну давайте за одно и правильное решение — функция на основе произвольного числа пишет большую Х в квадрате.
P>> Да ничего сложного вроде, два цикла и печатай символ еcли хоть одно из 6 условий верно и пробел иначе
ЭФ>Я думаю, что не надо мешать код, который вычисляет с кодом, который рисует.
ЭФ>Что если выводить надо в графическое окно на Gtk+ и требуется обеспечить перерисовку произвольного вложенного прямоугольника?
Изменения потребуются минимальные
sys.stdout = GtkPlusOutputStream(100, 100, 200, 200)
x = 15
for i in range(x):
for j in range(x):
if i in (0, x-1) or j in (0,x-1,i,x-i-1):
print('#', end='')
else:
print(' ', end='')
print('')