Я новичок в python, поднял его как интерес к интересам, и через некоторые поиски нашел себе кучу упражнений из "Практики вычисления", один из них спрашивает о написании ASCII-фигуры, обозначается ниже.
Все это кажется очень легким упражнением, но я не могу показаться обманутым вокруг использования числа, чтобы нарисовать это, в упражнении указано, что рисунок был нарисован с использованием числа "1".
В нем также указано, что для создания чертежа ASCII не может или должно использоваться число под 0 или выше 100.
Вот еще один пример:
Здесь вводилось число "2".
Я нашел способ сделать первое изображение появлением, но не используя какое-либо использование данных чисел каким-либо образом, просто простую "else" внутри цикла while, чтобы я мог отфильтровать числа, которые находятся ниже или равным 0 и выше или равным 100.
Я врезался в мертвую точку, любая помощь приветствуется.
Мой код, как указано выше, не использует номер переменной для создания первого чертежа:
while True:
s = input("Give me a number to make a drawing with that is between 0 and 100: ")
if not s.isdigit():
print ("Error, only numbers will make this program run.")
continue #Try Again but with a number this time
if int(s) >= 100:
print ("The number is bigger than or equal to 100 and won't work. \nDo try again.")
continue #try again
if int(s) <= 0:
print ("The number is smaller than or equal to 0 and won't work. \nDo try again.")
continue #try again
else:
print ("%5s" %("*" *3),"\n"'%5s' %("* *"),"\n" '%7s' %("*** ***"),"\n" '%7s' %("* *"),"\n" '%7s' %("*** ***"),"\n" '%5s' %("* *"),"\n" '%5s' %("*" *3))
print ('Want to make another drawing ?')
continue #make another drawing
Упражнение утверждает следующее:
ASCII Рисунок размера $n $состоит из одной или нескольких строк. В каждой строке допускаются только пробелы и звезды (*), после каждой звезды на строке пробелы не допускаются как таковые, вы должны заканчивать "\n" или новую строку. Затем следуют приведенные выше примеры.
Мой новый пример кода, который зависит от ввода переменной: Кроме того, в этом примере кода он запускается, когда вход 1, у меня все еще возникают проблемы с "увеличением" всего чертежа, когда я увеличиваю номер ввода.
while True:
A = input("Give me a number to make a drawing with that is between 0 and 100: ")
b = "***"
c = "*"
d = " "
if not A.isdigit():
print ("Error, only numbers will make this program run.")
continue #Try Again but with a number this time
if int(A) >= 100:
print ("The number is bigger than or equal to 100 and won't work. \nDo try again.")
continue #try again
if int(A) <= 0:
print ("The number is smaller than or equal to 0 and won't work. \nDo try again.")
continue #try again
else :
range(1,99)
if int(A) == (1) :
print ((d *((int(A))*2)) + b,)
print ((d *((int(A))*2))+ c + d + c,)
print ((d *((int(A))*0))+ b + d + b,)
print ((d *((int(A))*0))+ c + d*5 + c,)
print ((d *((int(A))*0))+ b + d + b,)
print ((d *((int(A))*2))+ c + d + c,)
print ((d *((int(A))*2)) + b,)
continue #try again
Но у меня все еще есть проблема с "увеличением" количества пробелов внутри фигуры ASCII наряду с увеличением от 1 до 2.
Как и проблема с линией 3, так как она должна быть обозначена вдоль сторон консоли, она должна иметь промежуток 0 со стороны, но она должна увеличиваться до интервала 2 с номер 2.