Size: a a a

Хирьянов Т.Ф., Практика программирования на Python 3 (2019)

2020 July 05

E

Egor in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
нужна помощь с кодом(большой код, который принимает четыре точки на инпут и выводит тип четырехугольника, если он существует)
источник

E

Egor in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
92 строки сюда легально кидать?
источник

КК

Кирилл Картвелишвили... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
как-то много для такой задачи. на пастбин залей, и ссылку сюда
источник

E

Egor in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
понятия не имею, как им пользоваться, может в лс кину?
источник

КК

Кирилл Картвелишвили... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
под типом имеется в виду какая-то фигура, являющаяся выпуклым четырёхугольником? типа ромб, трапеция и тд?
источник

E

Egor in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
трапеция, ромб, параллелограмм, квадрат, прямоугольник
источник

КК

Кирилл Картвелишвили... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
не надо мне в лс) зарегайся на pastebin - это 5 сек, и тыкни new paste
источник

E

Egor in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
если она не подходит под описание, то просто четырехугольник. если не существует - не существует
источник

КК

Кирилл Картвелишвили... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
здесь удобнее всего будет от общего к конкретному идти
источник

E

Egor in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
https://pastebin.com/gkNavDgu

проблема в основном в наговнокоженной части после if name == "main", но также иногда выбрасывает исключения
источник

E

Egor in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
в основном неправильно определяет фигуру, но еще есть такая тема:
напишите x и y для каждой точки(4 инпута) по или против часовой стрелки
2 1
2 4
5 4
5 1

Traceback (most recent call last):
 File "testing.py", line 62, in <module>
   angles = list((angle(lines[i - 1], lines[(i + 1) % 4]) for i in range(4)))
 File "testing.py", line 62, in <genexpr>
   angles = list((angle(lines[i - 1], lines[(i + 1) % 4]) for i in range(4)))
 File "testing.py", line 41, in angle
   return degrees(acos(scalar_mult(a, b) / (vec_len(a) * vec_len(b))))
ValueError: math domain error
источник
2020 July 06

КК

Кирилл Картвелишвили... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
дичь какая-то, всё, что после 42 строки надо переписывать. где сам инпут я ваще не понял
источник

КК

Кирилл Картвелишвили... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
а всё, я нашёл input, извиняюсь
источник

E

Egor in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
у меня нет идей, как все эти условия читабельно записать
источник

КК

Кирилл Картвелишвили... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
короче, я бы разделил всё на отдельные предикаты, плюс, конечно, не стоит писать всю логику в if name == '__main__', лучше создать функцию main, и вызывать её оттуда
источник

КК

Кирилл Картвелишвили... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
то есть сделать функцию is_existing_quadrangle, потом is_trapeze и тд. тогда можно будет адекватные цепочки из этих предикатов строить
источник

КК

Кирилл Картвелишвили... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
сначала проверяем, существует ли четырёхугольник, после является ли он трапецией, потом параллелограмм (не очень правильно считать, что параллелограмм частный случай трапеции, но думаю для удобства сойдёт), затем ромб или прямоугольник, это надо подумать над порядком, как удобнее будет
источник

КК

Кирилл Картвелишвили... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Egor
в основном неправильно определяет фигуру, но еще есть такая тема:
напишите x и y для каждой точки(4 инпута) по или против часовой стрелки
2 1
2 4
5 4
5 1

Traceback (most recent call last):
 File "testing.py", line 62, in <module>
   angles = list((angle(lines[i - 1], lines[(i + 1) % 4]) for i in range(4)))
 File "testing.py", line 62, in <genexpr>
   angles = list((angle(lines[i - 1], lines[(i + 1) % 4]) for i in range(4)))
 File "testing.py", line 41, in angle
   return degrees(acos(scalar_mult(a, b) / (vec_len(a) * vec_len(b))))
ValueError: math domain error
math domain error означает, что какое-то из выражений не имеет смысла, например арксинус числа больше единицы, или корень отрицательного числа, в общем аргументы математических функций неудовлетворяют ОДЗ
источник

ТХ

Тимофей Федорович Хи... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Denis Stafilidis
подскажите, как в 2 недели повысить знание синтаксиса питона до среднего уровня, времени на дню полно, нужно для собеседования в ШАД, курс/книжка и тп
источник

DS

Denis Stafilidis in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Спасибо
источник