Форум сайта python.su
Требуется помощь в упрощении велосипедов написанных для эмулятора http://www.codeskulptor.org имеющего некоторые ограничения по поддерживаемым библиотекам.
Сделан полный импорт - from math import *
Имеются два выражения:
Int((float(('%f' % cos(radians(угол_в_градусах)))))
Int((float(('%f' % sin(radians(угол_в_градусах)))))
Цель этих выражений воводить целые значения углов 0, 90, 180, 270, 360 для синуса и косинуса. Т.е числа 0, 1 и -1.
Codesculptor имеет некоторые ограничения в виду чего такие сложные выражения, вопрос можно ли это дело упростить?
Офлайн
>>> import math >>> >>> def conv_trig_int(angle, tfunc): ... return str(int(tfunc(math.radians(angle)))) ... >>> message = ' '.join(conv_trig_int(i, math.cos) ... for i in (0, 90, 180, 270, 360)) >>> >>> message '1 0 -1 0 1' >>> message = ' '.join(conv_trig_int(i, math.sin) ... for i in (0, 90, 180, 270, 360)) >>> message '0 1 0 -1 0' >>>
BrevnouTВообще выдаёт неправильные результаты. Для синуса выдаёт 0 1 1 -1 -2, а для косинуса — 1 6 -1 -1 1.
Codesculptor имеет некоторые ограничения
Отредактировано py.user.next (Сен. 19, 2014 23:54:43)
Офлайн
py.user.nextСпасибо за помощь. Благодаря вашему интересному примеру нашел в чем проблема. На примере косинуса.
Офлайн