[Python] вопрос/ответ.

Discussion in 'Python' started by De-visible, 21 Jan 2009.

  1. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    ага ))
     
    1 person likes this.
  2. Fata1ex

    Fata1ex Elder - Старейшина

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    чего "ага"? )
    вы тут сговорились чтоле? :D
     
  3. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    Всмысле чем он тебе не подходит?
    Да уже вроде как 3.3.х вышел ))
    _http://httpd.apache.org/modules/python-download.cgi
     
    #203 razb, 13 Jul 2009
    Last edited: 13 Jul 2009
  4. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    А он нужен, мод питон то ?
    Попробуй заюзать www.zope.org
    получишь в свое распоряжение мощный фреймфорк, который ложил на апач, ибо там и так есть свой веб-сервер
     
  5. Fata1ex

    Fata1ex Elder - Старейшина

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    razb, выйти-то он вышел, но он не поддерживает python 3.0
    http://mirror.prvtgeo.com/apache/httpd/modpython/win/3.3.1/
    login999, спасибо, посмтрим-с :)
     
    1 person likes this.
  6. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    хм, действительно. ну что же тогда юзать wsgi ))
     
  7. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    Упс, сорри, оказывается ни жопа, ни твистед не портированы под тройку, мну рыдает :(
     
  8. Ergoproxy

    Ergoproxy Elder - Старейшина

    Joined:
    18 Jan 2008
    Messages:
    248
    Likes Received:
    155
    Reputations:
    45
    В задачнике нашол задачу решил накодить, но мля опять встал :mad:

    Вообщем условие:

    Написать программу, которая вычисляет среднее арифмитическое вводимой с клавиатуры последовательности дробных чисел. Количество чисел должно задаваться во время работы программы.

    Сделал вот так:
    PHP:
    int(raw_input(" n = "))  

      for 
    i in xrange(0n): 
         
    int(raw_input("cifra = ")) 
         print 
    h
    Но мля не знаю как сделать так чтоб они складывались :confused:
     
  9. pento

    pento Elder - Старейшина

    Joined:
    3 Jul 2006
    Messages:
    126
    Likes Received:
    24
    Reputations:
    -1
    Это шутка?
    Code:
    n = int(raw_input(" n = "))
    s = 0
    for i in xrange(0, n):
        h = int(raw_input("cifra = "))
        s += h
    print "Result:", s
    
     
    1 person likes this.
  10. Ergoproxy

    Ergoproxy Elder - Старейшина

    Joined:
    18 Jan 2008
    Messages:
    248
    Likes Received:
    155
    Reputations:
    45
    pento спс не это не шутко, эт ми ступил ппц :(
     
  11. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    Угу, задача решена неверно, использован тип int() вместо float()
     
    1 person likes this.
  12. Ergoproxy

    Ergoproxy Elder - Старейшина

    Joined:
    18 Jan 2008
    Messages:
    248
    Likes Received:
    155
    Reputations:
    45

    Да дальше то всё понятно, да и вообще всё понятно мну тупит пис** :D :D :D
     
  13. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    прет py3k
    перевод файла из одной кодировки в другую в две строки
    Code:
    with open ("utf8.txt", encoding="utf8") as inp, open("cp1251.txt", "w", encoding="cp1251") as out:
        out.write(inp.read())
    
    Прёт возможность указания кодировки файла сразу при его открытии, преобразование же происходит автоматом, только лично я сделал бы параметр encoding не опциональным, а обязательным
     
    #213 login999, 15 Jul 2009
    Last edited: 15 Jul 2009
  14. Fata1ex

    Fata1ex Elder - Старейшина

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    Если оставлять его необязательным, то увеличивается гибкость программы, так как во время открытия файла возможно использование любой кодировки. По-моему так:)
     
  15. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    Кодировки есть грабли, через которые проходят очень многоие (я в свое время очень конкретно намучился с этим, да и не один я), просто за счет того чтобы сделать его обязательным (имется ввиду убрать значение по умолчанию), то гибкость не страдает, так как можно выбрать любую, зато отпадает куча вопросов и проблем на тему "А почему у меня крякозябры показывает", айс в py3k то что для внутреннего представления выбран юникод, в 2.6 я делал всем загрузкам из файлов вручную перекодирование в юникод, получалась конкретная путаница :)

    Чтоб не быть голословным:
    Code:
    ......
        def load(self, data, data_encoding=None):
            if data_encoding is None:
                data_encoding = self.defaultencoding
            self.Lock.acquire()
            for line in data:
                self.Container.append(line.translate(None, "\r\n").decode(data_encoding, "replace"))
            if self.StringVar is not None:
                try:
                    self.StringVar.set(len(self.Container))
                except RuntimeError:
                    pass
            self.Lock.release()
    ......
        def dump(self, outfile, data_encoding=None, remove=False):
            if data_encoding is None:
                data_encoding = self.defaultencoding
            self.Lock.acquire()
            with open(outfile, "a") as out:
                for item in self.Container:
                    out.write("{0}\n".format(item.encode(data_encoding, "replace")))
            if remove:
                self.Container = []
            if self.StringVar is not None:
                try:
                    self.StringVar.set(len(self.Container))
                except RuntimeError:
                    pass
            self.Lock.release()
    ......
    
     
    #215 login999, 15 Jul 2009
    Last edited: 15 Jul 2009
  16. Fata1ex

    Fata1ex Elder - Старейшина

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    В том-то и дело, чтобы на эти грабли не наступать, сделали значение опциональным. Во многих случаях не важно с какой кодировкой работать.
    # ps. код это ваще пэпэцэ :(
     
  17. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    Вот так это выглядит в py3k (от StringVar отказался, так как встроил Thread-safe счетчики в гуй :D)
    Code:
    ......
        #Сюда нужно отправлять что типа такого 
    #with open("bla.txt", encoding=encoding) as inpt:
    #some.load(inpt)
        #Атрибут загрузки из последовательности(или итератора)
        def load(self, data):
            self.__Lock.acquire()
            for line in data:
                self.__Container.append(line.strip("\r\n"))
            self.__Lock.release()
    ......
        #Атрибут дампа всех элементов контейнера в файл
        def dump(self, outfile, encoding):
            self.__Lock.acquire()
            with open(outfile, "a", encoding=encoding) as out:
                for item in self.__Container:
                    out.write("{0}\n".format(item))
            self.__Lock.release()
    ......
    
     
  18. Fata1ex

    Fata1ex Elder - Старейшина

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    эээ?
     
  19. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    encoding имеется ввиду кодировка, пусть будет encoding="utf8", если так понятнее :)
    Code:
    #with open("bla.txt", encoding="utf8") as inpt:
    #some.load(inpt)
    
     
  20. Fata1ex

    Fata1ex Elder - Старейшина

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    Я знаю, что такoe 'encoding', но зачем писать encoding=encoding, разве это нельзя опустить?