Re[37]: Python vs C#
От: FR  
Дата: 13.05.05 09:35
Оценка: 3 (1) :)
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, FR, Вы писали:


WH>>>А я вот не знаю просвети не разумного.

FR>>знаешь
WH>Нет. Не знаю.

FR>>Питон как язык выше уровнем и шарпа и плюсов, объем кода сильно уменьшается, кроме того питон сам подталкивает к обобщенному программированию поэтому очень легко писать повторно используемый код.

WH>Примеры в студию. Только мериться будем с C#2

По объему кода, вот простейшая программка считывает файл построчно и выводит его в другой файл отсортированным по строкам:
arr = open("test.txt").readlines()
arr.sort()

out = open("out.txt", "w")
for line in arr:
    print >> out, line,


Суммирование чисел из файла(в каждой строке файла одно число):
import sys, itertools
print sum(itertools.imap(int, open("in.txt")))


Другой пример я уже приводил Владу, простейший калькулятор(он из темы где вы с Владом спорили и ты делал этот же калькулятор на плюсах ссылки к сожалению не помню)
# -*- coding: cp1251 -*-
import psyco, time

from math import sin
from math import cos

formula =r"-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234\
-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234\
-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234\
-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234\
-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234"

ParseCount = 1
CalcCount  = 10000

#компилируем
t1 = time.clock()
for i in xrange(ParseCount):
    f = eval(compile("lambda asd, qwe : " + formula, "<string>", "eval"))
    psyco.bind(f)
t2 = time.clock()
print "Парсинг %d проходов. Выполнено за %f сек." % (ParseCount, t2 - t1)

#используем
def run():
    t1 = time.clock()
    for i in xrange(1, CalcCount + 1):
        f(i, i)
    t2 = time.clock()
    print "Подсчет %d проходов. Выполнено за %f сек."  % (CalcCount, t2 - t1)

psyco.bind(run)

run()
run()

print "f(1, 1,) =", f(1, 1)
print "f(-1, 333) =", f(-1, 333)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.