1. Python / Говнокод #8121

    −92

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    def foobar():
        sev=raw_input("Chislo dvoichnoy sistemy schisleniya: ") # Вводим число с клавиатуры
        lsev=list(sev)
        n=len(lsev)-1
        dec=0
        result=""
        f=[]
        i=1
        if sev <= '000000000000000000000000000000000000000000000000000000000000000000': # Проверка если много нулей
            print "Chislo vosmerichnoy sistemy schisleniya: ",0
            return
        if sev.isdigit()== 0:
            print "vi vveli nivirnyu stroku!" #Возвращает ошибку, если хотя бы 1 символ - не число
            return
        if sev.isalpha() == 1: #Проверка на ввод буквенных значений (True=1) значит есть буква
            print "vi vveli bukvu, a doljni chisla!"
            return
        if sev == '':
            print "vi nichego ne vveli" #Проверка на пустое поле ввода
            return
        else:
            while n>=0:
                if int(lsev[-n-1]) in range(2): # Проверяем, является ли число двоичным
                    dec+=int(lsev[-n-1])*2**(n) # Переводим из двоичной в десятичную
                    n-=1
                else: # Сообщаем об ошибке ввода и прекращаем выполнение
                    print "Vvedennoye chislo ne yavlyayetsya dvoichnym!"
                    return
            while dec>0: # Цикл, создающий список из остатков деления на 8 (перевод в восьмеричную систему)
                f.append(dec%8)
                dec=dec/8
                i+=1
                z=len(f)-1
            while z>=0: # Созданием из списка и печатаем восьмеричное число
                result+=unicode(f[z])
                z-=1
            print "Chislo vosmerichnoy sistemy scisleniya:",result
    foobar()

    Запостил: Win95, 08 Октября 2011

    Комментарии (39) RSS

    • и цикл с нулями как то не работает совсем... особенно если первые значения 0000....
      Ответить
    • опять лаба?
      Ответить
      • да(( и это первая только...
        Ответить
        • вот и думаю, нахрена гуманитариям Питон...
          Ответить
          • а кто сказал, что мы гуманитарии? И решаем не мы, а препод. Мне Делфи хватило... и пожалуй я к нему хорошо привык, оно удобно... а главное объектно-ориентировано.
            Ответить
            • Капитан Очевидность намекает, что Python ничуть не менее объектно-ориентирован.
              Ответить
              • думается мне, под объектной ориентированностью имеется ввиду возможность визуального создания интерфейса ^^
                Ответить
                • Мда. К сожалению, такому тоже учат.
                  Ответить
                  • Юзай Sharpdevelop, там тоже можно программировать мышкой на питоне, лол.
                    Ответить
              • показать все, что скрытоуважаемые, я прекрасно понимаю, что практически на любом языке можно написать объектно ориентированную программу, НО в Делфи это сделать гораздо легче и быстрее... ихмо...
                Ответить
                • что
                  Ответить
                • Да что ты говоришь. На статическом языке написать программу легче и быстрее, чем на динамическом, предназначенном для быстрого прототипирования? Прямо открытие в computer science.
                  Ответить
                  • это мое личное мнение
                    Ответить
                    • Ты долбаеб просто
                      Ответить
                      • Не слишком культурно, может скажешь мне это в реале?
                        Ответить
                        • за школой после четвертого урока, сударь!
                          Ответить
                          • Ну а что я должен был ему написать?)) Что он нехороший бородатый дяденька тролль?) И не надо обижать бедных студентов?)
                            Ответить
            • вы извините, но ваш код... буд-то вы вчера за комп сели.... думается мне, на дельфях то же самое бы вышло
              Ответить
              • в общем то так и было.... но на делфи гораздо лучше получалось. Да и мой реальный стаж питона пару недель максимум... а делфи пол года... не меньше...
                Ответить
                • покормлю-ка нубов
                  больше практикуйтесь. но промежуточные результаты, пожалуйста, не выкладывайте на говнокод
                  Ответить
            • Ваш код об этом вопиёт.
              Ответить
            • > а главное объектно-ориентировано
              Да, уж чего в Питоне не хватает — так это ООП. Пичалька.
              Ответить
    • Just for lulz решение.
      print oct(int(eval("0b" + raw_input())))
      По желанию зойпилить try/except блоки.
      Ответить
      • а из любой в любую? = )
        Ответить
      • print '%o' % int(raw_input(), 2)

        oct приписывает лишний префикс.
        Ответить
        • А второй аргумент у int во всех 2.x есть? Мне кажется, где-то в 2.5 появился.
          Ответить
          • Судя по отсутствию в документации пометки «Changed in version …» — во всех. Во всяком случае сейчас старее даже 2.6 мало где осталось.
            Ответить
    • Честно сказать залить сюда этот код посоветовал препод) Наверняка он это как нибудь увидит)
      Ответить
    • >foobar
      Это же Пайтон, тут должно быть spam, egg
      Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий