Как определить заштрихованную область в питоне
Перейти к содержимому

Как определить заштрихованную область в питоне

  • автор:

Python-сообщество

[RSS Feed]

  • Начало
  • » Центр помощи
  • » Проверить, принадлежат ли точки x,y заштрихованной области

#1 Ноя. 23, 2022 20:11:21

bebra Зарегистрирован: 2022-11-22 Сообщения: 8 Репутация: 0 Профиль Отправить e-mail

Проверить, принадлежат ли точки x,y заштрихованной области

Доброго времени суток. Нужна помощь в решении этой задачи, заранее благодарен

Напишите программу, проверяющую, принадлежит ли
точка с координатами x, y (вводятся с помощью input) заштрихованной области.

attachment

Прикреплённый файлы:
2022-11-23_21-10-46.png (32,7 KБ)

#2 Ноя. 23, 2022 23:41:50

py.user.next От: Зарегистрирован: 2010-04-29 Сообщения: 9675 Репутация: 841 Профиль Отправить e-mail

Проверить, принадлежат ли точки x,y заштрихованной области

Сначала сделай код для квадрата. Потом добавь в код для квадрата вычитание круга.

Если точка принадлежит квадрату, то проверить принадлежит ли она кругу. Если точка принадлежит квадрату и не принадлежит кругу, то она принадлежит зашрихованной области.

Принадлежность квадрату можно проверить через известные границы сторон квадрата.
Принадлежность кругу можно проверить через формулу вычисления расстояния от одной точки до другой. Если расстояние от центра окружности до заданной точки больше длины радиуса окружности, то точка находится вне круга, образованного этой окружностью.

Python-сообщество

[RSS Feed]

  • Начало
  • » Центр помощи
  • » Попадание точки в заштрихованную область

#1 Ноя. 1, 2016 11:27:21

Art933 Зарегистрирован: 2016-11-01 Сообщения: 5 Репутация: 0 Профиль Отправить e-mail

Попадание точки в заштрихованную область

Помогите пожалуйста решить задачи на python:

1. Определить попадание точки в заштрихованную область.
Рисунок во вложении

2. Вводится последовательность чисел, 0 — конец последовательности. Найти в каждом числе последовательности количество четных и нечетных цифр (функциями оформить определение количества четных и нечетных цифр числа)

3. В целочисленном массиве Х(N) найти максимальный элемент среди простых чисел, если простых элементов в массиве нет, то вывести соответствующее сообщение.

Если напишите комментарии буду вдвойне благодарен.
Заранее спасибо

attachment

Прикреплённый файлы:
91447-clip-14kb.jpg (14,2 KБ)

#2 Ноя. 1, 2016 12:38:17

ZerG Зарегистрирован: 2012-04-05 Сообщения: 2444 Репутация: 70 Профиль Отправить e-mail

Попадание точки в заштрихованную область

Без проблем!
покажите код с ошибкой что бы понять в каком месте вы застряли и что у вас не получаеться.?

Влодение рускай арфаграфией — это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

#3 Ноя. 2, 2016 09:02:06

Art933 Зарегистрирован: 2016-11-01 Сообщения: 5 Репутация: 0 Профиль Отправить e-mail

Попадание точки в заштрихованную область

Я с 1 и 3 задачей справился.
Во 2 задаче не могу решить ее функциями

#4 Ноя. 2, 2016 09:27:11

ZerG Зарегистрирован: 2012-04-05 Сообщения: 2444 Репутация: 70 Профиль Отправить e-mail

Попадание точки в заштрихованную область

кидайте код и данные для примера — посмотрим

Влодение рускай арфаграфией — это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

#5 Ноя. 3, 2016 08:22:59

Art933 Зарегистрирован: 2016-11-01 Сообщения: 5 Репутация: 0 Профиль Отправить e-mail

Попадание точки в заштрихованную область

x = int (input (‘Введите количество чисел, которые хотите сосчитать с клавиатуры: ‘))
lst =
for i in range(x):
number = int(input(‘Введите число: ‘))

while x > 0:
if x % 2 == 0:
even += 1
else:
odd += 1
x = x // 10

print(“Even: %d, odd: %d” % (even, odd))

#6 Ноя. 3, 2016 08:24:35

Art933 Зарегистрирован: 2016-11-01 Сообщения: 5 Репутация: 0 Профиль Отправить e-mail

Попадание точки в заштрихованную область

это все на что меня хватило. Она некорректно работает. Буду благодарен если поправите код и подскажите как сделать правильно.

#7 Ноя. 3, 2016 08:44:33

scidam Зарегистрирован: 2016-06-15 Сообщения: 288 Репутация: 35 Профиль Отправить e-mail

Попадание точки в заштрихованную область

Если нужно использовать отдельные функции для числа четных и нечетных чисел, то как-то так мне видится решение этой задачи

def count_odd_numbers(array): return len(filter(lambda x: x % 2 == 1, array)) def count_even_numbers(array): return len(filter(lambda x: x % 2 == 0, array)) seq = [] while True: try: value = int(input('Enter value:')) except (ValueError, NameError): print "Illegal input" else: if value != 0: seq.append(value) else: break print 'Total numbers entered: ', len(seq) print 'Odd numbers entered: ', count_odd_numbers(seq) print 'Even numbers entered: ', count_even_numbers(seq) 

Для PYthon3 нужно, однако, немного код поправить ( print — функция, и NameError можно убрать, пожалуй)…

Как определить заштрихованную область в питоне

Формат ввода

В первой строке подаются высота и ширина холста – натуральные числа w и h (1 ≤ w, h ≤ 100); во второй – целое число n, количество прямоугольников (0 ≤ n ≤ 5000). Затем программа получает n строк с координатами левого верхнего и правого нижнего углов прямоугольников – x1, y1, x2, y2.

Формат вывода

Целое число – площадь незакрашенной поверхности холста.

Примеры ввода и вывода

Заполнение матрицы по диагоналям

Формат ввода

Строка с числами n и m, разделенными пробелом.

Формат вывода

Матрица, заполненная в соответствии с условием задачи.

Пример ввода и вывода

Заштрихованная область матрицы

Формат ввода

В первой строке подается число n – количество строк. Затем программа получает n строк с элементами матрицы.

Формат вывода

Максимальный элемент из заштрихованной области матрицы.

Пример ввода и вывода

Треугольник Паскаля

Пример ввода и вывода

[1, 3, 3, 1] 

Решение

def trianglePascal(n): if n == 0: return [1] else: st = trianglePascal(n - 1) return [1] + [st[i] + st[i+1] for i in range(n - 1)] + [1] n = int(input()) print(trianglePascal(n)) 
n = int(input()) li = [1] for i in range(n): for j in range(len(li) - 1): li[j] = li[j] + li[j + 1] li.insert(0, 1) print(li) 
from math import factorial n = int(input()) print([int(factorial(n) / (factorial(j) * factorial(n - j))) for j in range(n + 1)]) 
l = [1] for _ in range(int(input())): l = [a + b for a, b in zip([*l, 0], [0, *l])] print(l) 
import math def fac(num): return math.factorial(num) def pasc(n): row = [1] for i in range(1, n + 1): row.append(int(fac(n) / (fac(i) * fac(n - i)))) return row n = int(input()) print(pasc(n)) 

Материалы по теме

  • �� Словари в Python: 12 задач для начинающих с решениями
  • �� 5 задач с решениями на Python для начинающих разработчиков
  • �� 5 классических задач по Python для начинающих с решениями

Принадлежит ли точка кругу?

Определить, принадлежит ли точка с координатами ( x ; y ) кругу радиуса R с центром в начале координат. Пользователь вводит координаты точки и радиус круга.

Решение задачи на языке программирования Python

Если выбрать точку на координатной плоскости, то можно увидеть, что проекции ее координат на оси x и y являются катетами прямоугольного треугольника. А гипотенуза этого прямоугольного треугольника как раз показывает расстояние от начала координат до точки.

Радиус круга и координаты точки

Таким образом, если длина гипотенузы будет не больше радиуса круга, то точка будет принадлежать кругу; иначе она будет находится за его пределами.

Длину гипотенузы вычисляется по теореме Пифагора: квадрат гипотенузы равен сумме квадратов катетов. Откуда гипотенуза равна квадратному корню из суммы квадратов катетов.

import math print("Введите координаты точки и радиус круга") x_point = float(input("x = ")) y_point = float(input("y = ")) r_circle = float(input("R = ")) hypotenuse = math.sqrt(x_point ** 2 + y_point ** 2) if hypotenuse  r_circle: print("Точка принадлежит кругу") else: print("Точка НЕ принадлежит кругу")

Пример выполнения программы:

x = 1 y = -1 R = 3 Точка принадлежит кругу

Обратите внимание, можно вводить отрицательные координаты. При возведении в квадрат все-равно будет получено положительное число.

X Скрыть Наверх

Решение задач на Python

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *