Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Программирование Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 23 24 25 26 27 28 29 [30] 31 32   вперед  Ctrl
 Re: Для чего нужен питон?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
ретти
У меня не компилится поскольку не тот компилер.
Если прицепишь экзешник чтоб читал строки из D:\v.txt, то я сравню.


Твои прамблемы, друк
Мне маловолнительны
30 апр 08, 16:01    [5614881]     Ответить | Цитировать Сообщить модератору
 Re: Для чего нужен питон?  [new]
ретти
Guest
Gluk (Kazan)
ретти
У меня не компилится поскольку не тот компилер.
Если прицепишь экзешник чтоб читал строки из D:\v.txt, то я сравню.


Твои прамблемы, друк
Мне маловолнительны

нет слов (ихдейа?)
30 апр 08, 16:14    [5614971]     Ответить | Цитировать Сообщить модератору
 Re: Для чего нужен питон?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
ретти
нет слов (ихдейа?)


Нет слов - молчи :)
30 апр 08, 16:17    [5614997]     Ответить | Цитировать Сообщить модератору
 Re: Для чего нужен питон?  [new]
Bazzuka Coder
Member [заблокирован]

Откуда:
Сообщений: 169
я переехал http://bazzuka-coder.livejournal.com/
30 апр 08, 17:20    [5615323]     Ответить | Цитировать Сообщить модератору
 Re: Для чего нужен питон?  [new]
Ёш
Member

Откуда:
Сообщений: 2892
ретти
А вот похоже петон-батон сортирует-то втихаря указатели, а не буквально перемещает
строки туда-сюда.
молодец :) вот Вы и открыли для себя что практически все объекты в питоне - это просто ссылки на значения :) именно поэтому я Вам и предложил сравнить питоновскую сортировку хотя бы с vector<string*>, а то с vector<string> слишком не честно получалось :)

ps: но зато в питоне другая проблема - нет оператора копирования, можно копировать объекты только через функции спец. модуля (причём как-то не всегда и не до конца)
30 апр 08, 18:20    [5615473]     Ответить | Цитировать Сообщить модератору
 Re: Для чего нужен питон?  [new]
Ёш
Member

Откуда:
Сообщений: 2892
Gluk (Kazan)
P.S. Кстати указания на ошибки, недочеты и пр. преветствуются
не компилируется gcc:

seb@seb:~/progs/gluk-sort/n$ g++ -O3 -W -Wall -o main main.cpp
main.cpp: In function ‘int main()’:
main.cpp:38: error: no match for ‘operator<’ in ‘__G_CLambdaTerm__<__G_Int2Type__<0> >(0) < __G_CLambdaTerm__<__G_Int2Type__<1> >(0)’
lambda.h:73: note: candidates are: __G_CLambdaTerm__<__G_Lambda_L_<U, V> > operator<(U&, V&) [with U = __G_CLambdaTerm__<__G_Int2Type__<0> >, V = __G_CLambdaTerm__<__G_Int2Type__<1> >]
main.cpp:43: error: no match for ‘operator<’ in ‘__G_CLambdaTerm__<__G_Int2Type__<0> >(0) < __G_CLambdaTerm__<__G_Int2Type__<1> >(0)’
lambda.h:73: note: candidates are: __G_CLambdaTerm__<__G_Lambda_L_<U, V> > operator<(U&, V&) [with U = __G_CLambdaTerm__<__G_Int2Type__<0> >, V = __G_CLambdaTerm__<__G_Int2Type__<1> >]
main.cpp:52: error: no match for ‘operator<’ in ‘__G_CLambdaTerm__<__G_Int2Type__<0> >(0) < __G_CLambdaTerm__<__G_Int2Type__<1> >(0)’
lambda.h:73: note: candidates are: __G_CLambdaTerm__<__G_Lambda_L_<U, V> > operator<(U&, V&) [with U = __G_CLambdaTerm__<__G_Int2Type__<0> >, V = __G_CLambdaTerm__<__G_Int2Type__<1> >]
main.cpp:57: error: no match for ‘operator<’ in ‘__G_CLambdaTerm__<__G_Int2Type__<0> >(0) < __G_CLambdaTerm__<__G_Int2Type__<1> >(0)’
lambda.h:73: note: candidates are: __G_CLambdaTerm__<__G_Lambda_L_<U, V> > operator<(U&, V&) [with U = __G_CLambdaTerm__<__G_Int2Type__<0> >, V = __G_CLambdaTerm__<__G_Int2Type__<1> >]

gcc version 4.2.3 (Debian 4.2.3-3)
30 апр 08, 18:23    [5615479]     Ответить | Цитировать Сообщить модератору
 Re: Для чего нужен питон?  [new]
ретти
Guest
Ёш
ретти
А вот похоже петон-батон сортирует-то втихаря указатели, а не буквально перемещает
строки туда-сюда.
молодец :) вот Вы и открыли для себя что практически все объекты в питоне - это просто ссылки на значения :) именно поэтому я Вам и предложил сравнить питоновскую сортировку хотя бы с vector<string*>, а то с vector<string> слишком не честно получалось :)

ps: но зато в питоне другая проблема - нет оператора копирования, можно копировать объекты только через функции спец. модуля (причём как-то не всегда и не до конца)

Еще бы предложить товарищу реализовать петоновский key=
типа v.sort(key=lambda vi:vi[33:88]) <-- сортировка по подстроке string[33:88]
Но почему все-таки петон стабильно сортирует быстрее?

2.7s ---- 6.0s .... на миллионе уникальных строк;
0.94s ----- 1.9s .... на 390000 строк, из них уникальных 200000;

import time
f=open('E:\\sbank3.txt','r')
z=f.readlines()
f.close()
t=time.time()
z.sort()
print time.time()-t
m=input()
print z[m].decode('cp1251')
raw_input()



#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <vector>
#include <string>
#include <ctime>
using namespace std;
vector<string*> vs;

bool cmp(const string *a, const string *b) {
    return a->compare(*b) < 0;  //--compare() вроде бы чуть-чуть быстрее " < "
}

FILE *fp=fopen("E:\\sbank3.txt","r");

int main() {
    while (true) {
        char line[50];
        if (!fgets(line,50,fp)) break;
        vs.push_back(new string(line));
    }
    fclose(fp);

    double t;
    t=clock()/CLOCKS_PER_SEC;
    stable_sort(vs.begin(), vs.end(), cmp);
    cout << clock()/CLOCKS_PER_SEC-t << endl;

    int m;
    cin >> m;
    cout << *vs[m];
    getchar();
return 0;
}
30 апр 08, 19:18    [5615574]     Ответить | Цитировать Сообщить модератору
 Re: Для чего нужен питон?  [new]
ретти
Guest
Да это не случайно. Я умудрился сам себя обогнать, петоном: http://www.spoj.pl/ranks/GOSSIPER/start=0
Имею право сравнивать потому что на сипипи и на питоне я юзал абсолютно одинаковый подход.
Но питон побил мой сипипи. 99% решений на си и сипипи. А задача Сплетники типа такая:

4 4
Kirk
Lucy
Mike
Nancy
Kirk Lucy
Lucy Mike
Mike Nancy
Nancy Lucy

Надо определить будут ли все сплетники знать все новости после серии встреч, в этом порядке.
Первонально каждый сплетник знает только свою персональную сплетню.

PS
У них есть подозрение что я -- робот.
30 апр 08, 20:04    [5615656]     Ответить | Цитировать Сообщить модератору
 Re: Для чего нужен питон?  [new]
ретти
Guest
плюс, в петоне есть чудесный модуль turtle, т.е., чебурашья графика; само то.
30 апр 08, 20:06    [5615658]     Ответить | Цитировать Сообщить модератору
 Re: Для чего нужен питон?  [new]
PT
Member [заблокирован]

Откуда:
Сообщений: 786
Ребят - это дурь.. Зачем вам этот язык. Яж вижу вы просто так... Так и зачем. Пых - гавно? Да пых намного удобнее. И плевать на ваши узкие задачи. А для этого есть он.
1 май 08, 01:44    [5616159]     Ответить | Цитировать Сообщить модератору
 Re: Для чего нужен питон?  [new]
Frenzy
Member

Откуда: Донецк, Украина
Сообщений: 1135
@PT

тебе-то откуда знать, ты же и пхп нормально не шаришь-то, судя по твоим перлам в ветке "csharp vs java" - разбирался бы хоть в чем-нибудь, такой ерунды не писал бы.

_______________________________________
2pro4U
3 май 08, 18:19    [5619559]     Ответить | Цитировать Сообщить модератору
 Re: Для чего нужен питон?  [new]
XDiaBLo
Member

Откуда: Екатеринбург
Сообщений: 71782
PT
Ребят - это дурь.. Зачем вам этот язык. Яж вижу вы просто так... Так и зачем. Пых - гавно? Да пых намного удобнее. И плевать на ваши узкие задачи. А для этого есть он.

Пых удобнее? Выводы из популярности, или из личного опыта?
4 май 08, 07:12    [5620206]     Ответить | Цитировать Сообщить модератору
 Re: Для чего нужен питон?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Ёш
Gluk (Kazan)
P.S. Кстати указания на ошибки, недочеты и пр. преветствуются
не компилируется gcc:

seb@seb:~/progs/gluk-sort/n$ g++ -O3 -W -Wall -o main main.cpp
main.cpp: In function ‘int main()’:
main.cpp:38: error: no match for ‘operator<’ in ‘__G_CLambdaTerm__<__G_Int2Type__<0> >(0) < __G_CLambdaTerm__<__G_Int2Type__<1> >(0)’
lambda.h:73: note: candidates are: __G_CLambdaTerm__<__G_Lambda_L_<U, V> > operator<(U&, V&) [with U = __G_CLambdaTerm__<__G_Int2Type__<0> >, V = __G_CLambdaTerm__<__G_Int2Type__<1> >]
main.cpp:43: error: no match for ‘operator<’ in ‘__G_CLambdaTerm__<__G_Int2Type__<0> >(0) < __G_CLambdaTerm__<__G_Int2Type__<1> >(0)’
lambda.h:73: note: candidates are: __G_CLambdaTerm__<__G_Lambda_L_<U, V> > operator<(U&, V&) [with U = __G_CLambdaTerm__<__G_Int2Type__<0> >, V = __G_CLambdaTerm__<__G_Int2Type__<1> >]
main.cpp:52: error: no match for ‘operator<’ in ‘__G_CLambdaTerm__<__G_Int2Type__<0> >(0) < __G_CLambdaTerm__<__G_Int2Type__<1> >(0)’
lambda.h:73: note: candidates are: __G_CLambdaTerm__<__G_Lambda_L_<U, V> > operator<(U&, V&) [with U = __G_CLambdaTerm__<__G_Int2Type__<0> >, V = __G_CLambdaTerm__<__G_Int2Type__<1> >]
main.cpp:57: error: no match for ‘operator<’ in ‘__G_CLambdaTerm__<__G_Int2Type__<0> >(0) < __G_CLambdaTerm__<__G_Int2Type__<1> >(0)’
lambda.h:73: note: candidates are: __G_CLambdaTerm__<__G_Lambda_L_<U, V> > operator<(U&, V&) [with U = __G_CLambdaTerm__<__G_Int2Type__<0> >, V = __G_CLambdaTerm__<__G_Int2Type__<1> >]

gcc version 4.2.3 (Debian 4.2.3-3)


выложил поправленную весрию (косяков было много)
4 май 08, 09:00    [5620276]     Ответить | Цитировать Сообщить модератору
 Re: Для чего нужен питон?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
ретти
потому что на сипипи и на питоне я юзал абсолютно одинаковый подход.


не одинаковый, что тебе несколько раз и пытались объяснить
4 май 08, 09:04    [5620284]     Ответить | Цитировать Сообщить модератору
 Re: Для чего нужен питон?  [new]
ретти
Guest
Frenzy

Frenzy,
зацени что я придумал (питон и черрипай здесь не причем).
Юзер кликает на span и получает очередной кусок текста без рефреша всей паги.
Например, на странице список названий книг. Юзер кликает на заинтересовавшей его
книге и получает в span, под титулом книги, случайную цитату. Прям как по каналу
xmlhttprequest/аяксу, которые немного напряжны (у меня например активексы отключены).
В общем идея понятна. Гениально(?).

import cherrypy
from random import randint

class book:
    def index(self):
        return \
'''
<html>
<script>
function noo() {
    prev_cookie=document.cookie;
    window.navigate("get_excerpt");
    while(document.cookie==prev_cookie);
    document.all.excerpt.innerText=document.cookie;
}
</script>
<body>
<center>
Random Excerpt<br><br>
<span onclick="noo();" style="cursor:hand">click me!</span><br><br>
<textarea name="excerpt" cols="80" rows="20">
</textarea>
</center>
</body>
</html>
'''
    index.exposed=True

    def get_excerpt(self):
        z=text[randint(0,len(text)/2):randint(len(text)/2,len(text)-1)]
        cherrypy.response.cookie['r']=z            
        cherrypy.response.status=204
        return
    get_excerpt.exposed=True
    

text='''
one had committed suicide, one had gone missing, and one has gone insane.
Eventually Ash finds Trinity after deducing that he should communicate us
ing phrases and facts from Lewis Carroll's Alice books. She proposes a me
eting, and he successfully finds the location. At the meeting she removes
a "bug" from his eye, planted by agents earlier in one of his "eye exam d
reams." Agents appear and attempt to apprehend Trinity, which leads to a 
shootout between the Agents and Ash and Trinity. While trying to escape t
he train an agent attempts to take Ash's body, forcing Trinity to shoot h
im in order to prevent the agent from appearing and taking over his body.
While Ash is wounded, he and Trinity bid their farewells with no hard fee
lings.'''

if __name__=='__main__':
    cherrypy.quickstart(book(),config='tut03.txt')
8 май 08, 19:58    [5644001]     Ответить | Цитировать Сообщить модератору
 Re: Для чего нужен питон?  [new]
Frenzy
Member

Откуда: Донецк, Украина
Сообщений: 1135
изврат. помоему работает только в эксплорере
какие аткивыксы? юзай фаерфокс. и вобще с аяксом никаких проблем нет
раз уж на то пошло, можно и куки выключить. и яваскрипт. и компьютер заодно
если чем-то не угодил аякс, асинхронно загружать цитаты твои можно и с помощью спрятанного frame/iframe
9 май 08, 13:16    [5644841]     Ответить | Цитировать Сообщить модератору
 Re: Для чего нужен питон?  [new]
ретти
Guest
>какие аткивыксы? юзай фаерфокс. и вобще с аяксом никаких проблем нет

это будет уже "юзай веб-клиента". Т.е. это будет уже не "браузер", а его расширение.

>помоему работает только в эксплорере

У меня нет под рукой других "мозилл", но как-то сомнительно почему этот javaскрипт работает только в IE:
<script>
function noo() {
    prev_cookie=document.cookie;
    window.navigate("get_excerpt");
    while(document.cookie==prev_cookie);
    document.all.excerpt.innerText=document.cookie;
}
</script>
И не обязательно юзать именно куки; подойдет любой хедер.
Главное, что body ответа будет пустым, поскольку response.status = 204.

Как щас помню лет 8 назад "чат на фреймах" - это был такой писк моды.
И winhttp. Про xmlhttprequest еще мало кто слышал. Щас его обернули в ajax.
И пошла новая волна писка. Толпы веб-мастеров мучаются, придумывая куда бы прикрутить асинхронность?

Я собсно к вебу имею мало отношения. Так што сорри.
9 май 08, 15:53    [5645095]     Ответить | Цитировать Сообщить модератору
 Re: Для чего нужен питон?  [new]
Frenzy
Member

Откуда: Донецк, Украина
Сообщений: 1135
> это будет уже "юзай веб-клиента". Т.е. это будет уже не "браузер", а его расширение

браузер это и есть разновидность веб-клиента. тем более раз уж вы такой любитель эксплорера, то уж это точно не браузер, а скорее какой-то непонятный клиент, поддерживающий какие-то свои недокументированные протоколы типо "кривой HTML", "кривой СSS" и т.д.

> У меня нет под рукой других "мозилл", но как-то сомнительно почему этот javaскрипт работает только в IE

ну насколько мне помнится all работает только в эксплорере. по стандартам надо юзать document.getElementById()

> И не обязательно юзать именно куки; подойдет любой хедер.

не любой хедер можно вытащить яваскриптом

> Как щас помню лет 8 назад "чат на фреймах" - это был такой писк моды.
И winhttp. Про xmlhttprequest еще мало кто слышал. Щас его обернули в ajax.
И пошла новая волна писка. Толпы веб-мастеров мучаются, придумывая куда бы прикрутить асинхронность?


да не мучается никто, появилась задача например - асинхронно обновлять случайные цитаты из книг. и есть для нее простое удобное решение.
тем не менее велосипед, пусть даже прямо следующий из спецификаций хттп, изобретен успешно ))

конечно согласен с вами, что если злоупотреблять - то всегда плохой результат, а вот если в меру - то только польза. независимо о чем речь идет - об аяксе или о пиве
9 май 08, 20:09    [5645578]     Ответить | Цитировать Сообщить модератору
 Re: Для чего нужен питон?  [new]
izekia
Member

Откуда: Moscu
Сообщений: 868
ретти
Да это не случайно. Я умудрился сам себя обогнать, петоном: http://www.spoj.pl/ranks/GOSSIPER/start=0

твой алгоритм неоптимален похоже
а вообще к примеру я свой неоптимальный код на С++ не могу обогнать на питоне, к примеру на sumtrian
4 авг 08, 11:17    [6022382]     Ответить | Цитировать Сообщить модератору
 Re: Для чего нужен питон?  [new]
retty+++
Member [заблокирован]

Откуда:
Сообщений: 155
izekia
ретти
Да это не случайно. Я умудрился сам себя обогнать, петоном: http://www.spoj.pl/ranks/GOSSIPER/start=0

твой алгоритм неоптимален похоже
а вообще к примеру я свой неоптимальный код на С++ не могу обогнать на питоне, к примеру на sumtrian

Зашибись! В 1.5 раза быстрее моего.
Не знаю как ты там выкрутился. У меня решение примитивно-тупое:
import psyco
psyco.full()

def main():
    while 1:
        n, m = map(int, raw_input().split())
        if n == 0 and m == 0:
            break
        d = {}
        j = 1
        for i in range(n):
            d[raw_input()] = j
            j *= 2
        for i in range(m):
            k1, k2 = raw_input().split()
            d[k1] = d[k1] | d[k2]          ------ соль здесь
            d[k2] = d[k1]                  ----
        j -= 1
        for v in d.values():
            if v != j:
                print 'NO'
                break
        else:
            print 'YES'
        z = raw_input()

main()
Это калька с моего же сишного кода, который оказался чуть медленнее питона (с псайко!).
Только в сипипи я юзал <bitset> вместо прямого битового OR для двух чисел, но идея абсолютно та же.
5 авг 08, 11:43    [6027612]     Ответить | Цитировать Сообщить модератору
 Re: Для чего нужен питон?  [new]
izekia
Member

Откуда: Moscu
Сообщений: 868
а, слушай, в принципе та же идея :))
только я на вводе сэкономил, и воспользовался тем что filter(None) будет быстрее конечного перебора с анализом, вот мой код:
import gc
gc.disable()
import sys
import psyco
psyco.full()
fin = sys.stdin.read
#f = open("gossiper.txt") #
#fin = f.read #
def main():
	data = fin().split()
	start = 0
	while(True):
		n = int(data[start + 0])
		m = int(data[start + 1])
		if n == 0:
			break
		nil = 2**n - 1
		gossipers = {}
		gsId = 1;
		for i in range(start + 2, start + n + 2):
			gossipers[data[i]] = nil ^ gsId
			gsId <<= 1
		for i in range(start + n+2, start + (m)*2 + n + 2, 2):
			gossipers[data[i]] = gossipers[data[i + 1]] = gossipers[data[i]] & gossipers[data[i + 1]]
		if len(filter(None, gossipers.itervalues())) == 0:
			sys.stdout.write("YES\n")
		else:
			sys.stdout.write("NO\n")
		start = start + (m)*2 + 2 + n
	#f.close() #

main()
5 авг 08, 11:52    [6027669]     Ответить | Цитировать Сообщить модератору
 Re: Для чего нужен питон?  [new]
retty+++
Member [заблокирован]

Откуда:
Сообщений: 155
у меня букофф меньше :)
все-таки интересно, не так уж много пиплов сделали эту таску,
а на питоне только ты да я (не удержался).
5 авг 08, 12:15    [6027817]     Ответить | Цитировать Сообщить модератору
 Re: Для чего нужен питон?  [new]
izekia
Member

Откуда: Moscu
Сообщений: 868
retty+++
у меня букофф меньше :)
все-таки интересно, не так уж много пиплов сделали эту таску,
а на питоне только ты да я (не удержался).

да там просто питон не настолько популярен.
большинство решений на с++

а по поводу букв, просто я много букв на названия переменных трачу, а строк в мейне у нас одинаково
Если хочешь букв поменьше - попробуй решить SUMITR, я только без ограничений по размеру смог за 0.91 решить, правда до оптимизации никак добраться не могу)
5 авг 08, 12:22    [6027873]     Ответить | Цитировать Сообщить модератору
 Re: Для чего нужен питон?  [new]
iCap
Member [заблокирован]

Откуда:
Сообщений: 619
Млина . на плюсах какието неактуальные нерасспаралеленные примеры приводятся . Что вы сравниваете . Зачем главное ?

----------------------------------
παράδοξος
5 авг 08, 13:20    [6028270]     Ответить | Цитировать Сообщить модератору
 Re: Для чего нужен питон?  [new]
retty+++
Member [заблокирован]

Откуда:
Сообщений: 155
izekia
retty+++
у меня букофф меньше :)
все-таки интересно, не так уж много пиплов сделали эту таску,
а на питоне только ты да я (не удержался).

да там просто питон не настолько популярен.
большинство решений на с++

а по поводу букв, просто я много букв на названия переменных трачу, а строк в мейне у нас одинаково
Если хочешь букв поменьше - попробуй решить SUMITR, я только без ограничений по размеру смог за 0.91 решить, правда до оптимизации никак добраться не могу)

Уфф
1.
За последние 3 года питон там стал очень популярным. Хаскелл, окамл, перл и пр. ушли в небытие.
Я прекрасно помню динамику популярности языков.
2.
SUMITR (не tutorial вариант) я уже давно сделал, одним из первых, после ее появления.
3.
Лучше ты попробуй это: http://www.spoj.pl/problems/ARMY/
Опписаться... Как все-таки можно попасть под гипноз. Куча людей получили на ней time limit exceeded.
5 авг 08, 13:27    [6028312]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 23 24 25 26 27 28 29 [30] 31 32   вперед  Ctrl
Все форумы / Программирование Ответить