Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/25: Рейтинг темы: голосов - 25, средняя оценка - 4.64
Studying
 Аватар для Vermont74
2 / 2 / 0
Регистрация: 13.03.2021
Сообщений: 38

Измените следующую программу так, чтобы она рисовала круг случайного размера в случайном месте

28.12.2021, 21:28. Показов 5421. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Дана программа, надо изменить ее так, чтобы при нажатии на любую кнопку она рисовала КРУГ случайного размера в случайном месте. Задача на TKinter.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
import tkinter
 
 
def draw(event):
    canvas.create_oval((100, 100), (300, 300), fill='red')
    return
 
 
master = tkinter.Tk()
canvas = tkinter.Canvas(master, bg='blue', height=600, width=600)
canvas.pack()
master.bind("<KeyPress>", draw)
master.mainloop()
Задачу то я решил, но дело в том, что круги как-то странно рисуются по одной диагонали. Вот мой код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import tkinter
import random as rd
 
 
def draw(event):
    crd = rd.randint(0, 600)
    crd1 = rd.randint(0, 600)
    canvas.create_oval(crd, crd, crd1, crd1, fill='red')
    return
 
 
master = tkinter.Tk()
canvas = tkinter.Canvas(master, bg='blue', height=600, width=600)
canvas.pack()
master.bind("<KeyPress>", draw)
master.mainloop()
Можете помочь разобраться? Заранее благодарю.

Кликните здесь для просмотра всего текста
Всех с наступающим!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.12.2021, 21:28
Ответы с готовыми решениями:

Измените следующую программу так, чтобы она рисовала круг случайного размера в случайном месте
Измените следующую программу так, чтобы она рисовала круг случайного размера в случайном месте. import tkinter def...

Измените программу так, чтобы она сортировала числа по убыванию
(PascalABC) Откройте Pascal ABC, введите текст программы. Прежде чем выполнить программу нужно создать в той папке, в которой у вас...

Измените программу так, чтобы она дополнительно находила координаты вектора
Дана программа для решения задачи: «Найти скалярное произведение двух векторов А(5) и С(5).» Измените программу так, чтобы она...

3
 Аватар для Михалыч
1011 / 355 / 59
Регистрация: 28.02.2013
Сообщений: 939
29.12.2021, 08:24
Лучший ответ Сообщение было отмечено Vermont74 как решение

Решение

Vermont74, так?

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import tkinter
import random as rd
 
 
def draw(event):
    crd = rd.randint(0, 600)
    crd1 = rd.randint(0, 600)
    r = rd.randint(10, 100) # случайный радиус от 10 до 100
    canvas.create_oval(crd, crd1, crd-r, crd1-r, fill='red')# изменил
    return
 
 
master = tkinter.Tk()
canvas = tkinter.Canvas(master, bg='blue', height=600, width=600)
canvas.pack()
master.bind("<KeyPress>", draw)
master.mainloop()
Добавлено через 4 минуты
PS. Метод create_oval создает эллипсы. При этом задаются координаты гипотетического прямоугольника, описывающего эллипс. Если нужно получить круг, то соответственно описываемый прямоугольник должен быть квадратом. Попробуйте начертить на листочке координатные оси и руками попробовать сделать то что пытаетесь сделать в программе, станет намного понятней Про оси и объекты например можно взять тут
1
Studying
 Аватар для Vermont74
2 / 2 / 0
Регистрация: 13.03.2021
Сообщений: 38
29.12.2021, 11:55  [ТС]
Михалыч, спасибо большое, это то, что нужно. С наступающим вас!
0
 Аватар для Михалыч
1011 / 355 / 59
Регистрация: 28.02.2013
Сообщений: 939
29.12.2021, 12:04
Vermont74, Спасибо! И вас тоже с наступающим!)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.12.2021, 12:04
Помогаю со студенческими работами здесь

Измените программу так, чтобы она распечатывала содержимое всего файла
Помогите пожалуйста :) Измените программу так, чтобы она распечатывала содержимое всего файла. domains file=datafile ...

Написать программу «Манипулятор робота» так, чтобы она рисовала манипулятор из n сегментов
Здравствуйте)). Прошу помочь. Написать программу «Манипулятор робота» так, чтобы она рисовала манипулятор из n сегментов. Для...

Измените программу так, чтобы она работала только для положительных значений переменной х
Протестировать программу для вычисления у по формуле: \begin{cases} &amp; \text{ } cos{x}^{2},x&lt;0,1 \\ &amp; \text{ } {x}^{3}-2, x=0,1 \\ ...

Задача страуструпа: Измените программу так, чтобы она выводила числа, которые почти равны друг другу
Есть программа #include &lt;iostream&gt; using namespace std; int main () { double val_1 = 0.0;

Измените программу так, чтобы она корректно работала и для случая, когда в исходной строке встречаются лишние пробелы
Здравствуйте. Задание: Измените программу так, чтобы она корректно работала и для случая, когда в исходной строке встречаются лишние...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 01.04.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru