Я на базовом уровне знаю питон, и мне нужно изучать математику для ЕГЭ. Так сложилось, что мне не очень интересно изучать ее сидя в тетрадке и что-то там заучивая. А вот писать код мне нравится, и я так подумал, а что если совместить приятное и полезное? Могу ли я например темы по математике (Логарифмы, например) писать в питоне и решать их там, таким образом изучая математику? Возможен ли такой оригинальный способ изучения?
Я изучал математику исключительно по книгам, ничего не решая. ЕГЭ у меня не было, но вступительные экзамены в институт я сдал на пятьдесят баллов из ста, поступив на бюджет.
Для начала нужно понимать, что языки программирования - это не средство решения задачи, а средство записи уже решенной человеком задачи. Не только по математике, но и по программированию задачи решаются именно в тетрадке и записывать полученный результат для числовых вычислений далеко не всегда требуется.
Есть математические движки, типа mapple, mathcad, mathematica и т.п., которые способны решать сами решать определенные классы математических задач и могут быть полезны для изучения предмета, но, как правило, лишь для того, чтобы проверить полученный ответ и очень немногие из них способны показать не только ответ, но и объяснить ход решения. Да и языки программирования в них не уровня питона, а более специализированные.
Окснитесь... Математику через Питон? Да в Питоне даже расчет гипотенузы треугольника производится "через импортируемые библиотеки"
При желании можно конечно написать какой-нибудь "ручной" конвертер из DEC в HEX.
Что я когда-то вполне благополучно и сделал letters = [chr(i) for i in range(ord('a'), ord('f') + 1)]
nums = [i for i in range(10, 16)]
def to_letter(res):
final = []
for i in res:
if i in nums: final += letters[nums.index(i)]
else: final += str(i)
return final
def int_part:
result = []
if not n: return '0x0'
while n > 0:
result += [n % 16]
n //= 16
a = to_letter(result)
return ' '.join(['0x' + ''.join((a[::-1]))])
def float_part(f):
result,i = [],0
while f - int(f) or i < 11:
f *= 16
result.append(int(f))
f = f - int(f)
i += 1
a = to_letter(result)
return ''.join(a)
try:
decimal = input('DEC ')
decimal = (float(decimal) if '.' in decimal
and decimal[0] != '.' and decimal[-1] != '.' else int(decimal))
if isinstance(decimal, int): print('HEX', int_part(decimal))
if isinstance(decimal, float):
float_p = decimal - int(decimal)
int_p = int(decimal)
print('HEX', int_part(int_p) + '.' + float_part(float_p))
except ValueError: print('Wrong input')
Если это поможет запоминать теорию, что вполне реально. Одно дело читать про формулу Герона в учебнике, др. дело её реализовать в коде. Память у человека устроена сложно.
Засада в том, что встречаются задачи, в которых для нахождения ответа надо воспользоваться последовательно не одной формулой (теоремой), а в этом уже Пайтон бесполезен. Навык таких решений отрабатывается тоже вне программирования.
да, возьми любую задачу из егэ и попробуй написать код для её решения с вводом и выводом данных - так ты поймешь как решать такие задачи, на егэ просто пиши все, что делает код, по действиям