Найти - Пользователи
Полная версия: Специально тема для Насти по рисованию квадрата со звездочками
Начало » Python для новичков » Специально тема для Насти по рисованию квадрата со звездочками
1 2
regall
Если это квадрат из текстовых исмволов ‘*’ в консоли, то код таков

Вот функция, где единственный аргумент n - длина стороны квадрата

def kvadrat(n):
s = ‘*’*n + ‘\n’ + ('*' + ‘ ’*(n-2) + ‘*’ + ‘\n’)*(n-2) + ‘*’*n
return s

А юзать следующим образом:

print kvadrat(10)
izekia
у меня на экране так примерно
def kvadrat(n):
s = ‘*’*n + ‘\n’ + ('*' + ‘ ’*(n-2) + ‘*’ + ‘\n’)*(n//3) + ‘*’*n
return s
izekia
даже так:
def kvadrat(n):
s = '*'*n + '\n' + ('*' + ' '*(n-2) + '*' + '\n')*(int(n/2.5)) + '*'*n
return s
regall
Поскольку, действительно, на разных экранах такое будет по разному (и в зависимости от настроек), так что я поставил своей целью считать длину стороны в количестве звездочек, а не в единицах длины… По-моему, главное принцип…=)
izekia
да я не спорю))
regall
izekia
В связи с таким подходом у меня возникает вопрос, можно ли как-то програмно вычислить этот коэффициент, чтоб максимально реальный квадрат получить (не подбирая вручную) ?
Ferroman
По отношению ширины символа/высоты строки.

PS: ребята, не ведитесь на женские имена типа Настя/Катя. В многих случаях это ленивый студент **ческого факультета у которого проблема с лабами. Этакий психологический ход.
Я уже не говорю, что могло бы хватить мозгов нормально и человеческим языком формулировать просьбу и не где попало.
shiza
Да ладно, это все повод для разминки ума. %)

import time
import turtle
import math

def zvezda5():
razmer = 20
turtle.up()

turtle.forward((razmer/2)/(math.sin(36)))
turtle.right(-18)

turtle.down()
for x in xrange(5):
turtle.forward(razmer)
turtle.right(144)
turtle.up()

turtle.right(198)
turtle.forward((razmer/2)*math.sin(36))
turtle.right(180)

turtle.speed('fast')
turtle.degrees()

turtle.up()
turtle.left(90)

for x in xrange(4):

for x in xrange(5):

turtle.forward(25)
turtle.left(90*x)
zvezda5()
turtle.right(90*x)
turtle.right(90)

time.sleep(15)
ZAN
Супер решение!!
Жаль отвалилась рейтинговая система - некуда плюсик поставить :)
cybergrind
офигенно…..
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB