Этот код нарисует красный круг, ** краях которого будет заметна "лесенка". Почему это...

0 голосов
172 просмотров

Этот код нарисует красный круг, на краях которого будет заметна "лесенка". Почему это происходит? Как избавится от этого артефакта? class CircleView : View { private val paint = Paint().apply { color = Color.RED strokeWidth = 3f } private var radius: Float = 0f constructor(context: Context?) : super(context) constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs) constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) override fun onDraw(canvas: Canvas) { canvas.drawCircle((measuredWidth / 2).toFloat(), (measuredHeight / 2).toFloat(), radius, paint) } override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) { super.onMeasure(widthMeasureSpec, heightMeasureSpec) radius = Math.min(measuredWidth, measuredHeight) / 2f } }​


Информатика (84 баллов) | 172 просмотров
Дано ответов: 2
0 голосов

Ответ:

Если создать шаблон строки с автозаполнением, то можно немного упростить код:

import sys

num_steps = int(sys.argv[1])

fmt_template = '{}.{:>%d}' % num_steps

for x in range(1, num_steps + 1):

   print(fmt_template.format(x, '#' * x))

При num_steps = 4:

1.   #

2.  ##

3. ###

4.####

Объяснение:

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

Можно так попробовать:

for x in range(1, c+1):

   print('{0}{1}{2}'.format(x, " " * (c - x), '#' * x))

Для c = 3:

1  #

2 ##

3###

Либо заменить запятую конкатенацией (знак +):

print(str(x) + " " * (c - x) + '#' * x)

(81 баллов)
0

Помог?

0

да, у меня новый вопрос ответь пж.

0 голосов

Ответ:

это системный сбой

Объяснение:

такое бывает когда что то не то

(24 баллов)