Змея / Говнокод #8121 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 Win95, (Updated )

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

  • и цикл с нулями как то не работает совсем... особенно если первые значения 0000....
    Ответить
        • а кто сказал, что мы гуманитарии? И решаем не мы, а препод. Мне Делфи хватило... и пожалуй я к нему хорошо привык, оно удобно... а главное объектно-ориентировано.
          Ответить
          • Капитан Очевидность намекает, что Python ничуть не менее объектно-ориентирован.
            Ответить
            • думается мне, под объектной ориентированностью имеется ввиду возможность визуального создания интерфейса ^^
              Ответить
            • уважаемые, я прекрасно понимаю, что практически на любом языке можно написать объектно ориентированную программу, НО в Делфи это сделать гораздо легче и быстрее... ихмо...
              Ответить
              • Да что ты говоришь. На статическом языке написать программу легче и быстрее, чем на динамическом, предназначенном для быстрого прототипирования? Прямо открытие в computer science.
                Ответить
                    • Не слишком культурно, может скажешь мне это в реале?
                      Ответить
                        • Ну а что я должен был ему написать?)) Что он нехороший бородатый дяденька тролль?) И не надо обижать бедных студентов?)
                          Ответить
          • вы извините, но ваш код... буд-то вы вчера за комп сели.... думается мне, на дельфях то же самое бы вышло
            Ответить
            • в общем то так и было.... но на делфи гораздо лучше получалось. Да и мой реальный стаж питона пару недель максимум... а делфи пол года... не меньше...
              Ответить
              • покормлю-ка нубов
                больше практикуйтесь. но промежуточные результаты, пожалуйста, не выкладывайте на говнокод
                Ответить
          • > а главное объектно-ориентировано
            Да, уж чего в Питоне не хватает — так это ООП. Пичалька.
            Ответить
  • Just for lulz решение.
    print oct(int(eval("0b" + raw_input())))
    По желанию зойпилить try/except блоки.
    Ответить
      • А второй аргумент у int во всех 2.x есть? Мне кажется, где-то в 2.5 появился.
        Ответить
        • Судя по отсутствию в документации пометки «Changed in version …» — во всех. Во всяком случае сейчас старее даже 2.6 мало где осталось.
          Ответить
  • Честно сказать залить сюда этот код посоветовал препод) Наверняка он это как нибудь увидит)
    Ответить
  • уU?T K Q(C.P(V(U)C)L!U?N"F GH.M WK,T$U:B.Y(B:R:R,A"F$G:B,M)E?S!F?I?J S?N.H)C$J)D?Q!I!ZK,W,P ZG"Q:G)P)NP(T.F)P V)A,L P,K"F J.N)V,S?O GE(B"A,R$Q,Q"A?Y H PN:D,Q F:D(U.E"Z(E)S$Z$D"Y.U?X(H"L!E?C)A,C)P:M?Q:O.S,Q,K"G"P.F"S!S"E"O?U(C!I?Z(Z!DI:V?S$V?F?R?C?BC$S.H?F$G?C(T.Y)B?I,Y$B.A(H(LP!L(IY"N!I Y:S?G)M!X,Y$I"Y M:Z C T!S.M!Z LJ)V!D:X,T"F(H F Q$F$Y B(T.F?T?J:J?O"G:K$U!H"M(E!L.Y(RMZ.V!L?M!D$T"Q$Z(X"Y:I:LB$Q$U!MP$QD HA:D"K"R.F:B!X!GH:B:A,Z!I?K"X"P"L"X(Z X"H JR"W XT"X,Q(D)O?P X"F?X:U!P!Z(G$S.O(G,AP,Z)X,G T V"J)Z!X,E)J O(M!V?Y.QD.W:J(T$MW,Z.O Y"Y.I,X"H:S)W YP"G.IG:G,Y(Z$I.KT!H)E H$M)A!M(C:B:Q$BI.S:P.C$X.L$B?I?E)UE"T(J T(L!F?J.F!B T$G,C,I(T.G$H:P"Q:AZ!P:W!D.D.M NC.KF!S$K?L L)G E:H?Q:B)L?S?ST I"XV(BC!B)S"I EБFTNCBQYTNZDYMBNGMWGATMMLHWNHVSDHFJONAQWJEYLUSXARSAQAYNWHTAKPMICQAFKSMQOYYLNQD
    Ответить

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

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8