FishHook
Март 27, 2013 09:42:21
def formula (a, b):
return a+b
lst = [1,2,3,4,5,6]
A=10
print [formula(A,x) for x in lst ]
Vaisai
Март 27, 2013 15:55:12
блин, до меня все равно не доходит, как вытаскивать из файла, и в формулу вставлять..может можно как то по простому без def, только изучаю Python не все понимаю еще
Singularity
Март 27, 2013 15:58:29
Vaisai
что ты понимаешь под формулой ?
Vaisai
Март 27, 2013 16:04:51
если поподробней, то у меня файл с 1000000 чисел, каждое число с новой строки, все числа рандомные, и мне надо вытягивать по одному числу, проводить с ним математическую операцию, и записывать уже результаты в новый файл, под формулой у меня X = tan(p(x-1/2)) где x число из файла
Shaman
Март 27, 2013 16:08:08
Vaisai
tan(p(x-1/2)) где x число из файла
а p что?
Vaisai
Март 27, 2013 16:14:05
число пи (тт)
Vaisai
Март 27, 2013 17:31:36
import math
mf = open("proba.txt")
for line in mf:
X = math.tan(3.14*(line - 1/2))
print (X)
Пытался так,выдает
line = math.tan(3.14*(line - 1/2))
TypeError: unsupported operand type(s) for -: ‘str’ and ‘float’
какой тип надо указывать, и где именно?
Shaman
Март 27, 2013 18:24:34
Вот так будет без ошибки:
import math
mf = open("proba.txt")
for line in mf:
X = math.tan(3.14*(float(line) - 0.5))
print (X)
1/2 даст 0. Правильно 1.0 / 2, что соответствует 0.5
А это ответ:
from math import tan, pi
open('result.txt','w+').write('\n'.join(map(lambda a: `tan(pi*(float(a) - 0.5))`, open('vals.txt'))))
Vaisai
Март 27, 2013 20:44:33
еще такой вопрос, берем первое число, сравниваем его со всеми числами файла, и он повторяется, как определить позицию где он повторился?
ly4uk
Апрель 2, 2013 11:28:34
как вариант интерация по индексам