- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 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.10.2011 14:09 # −2
Lure Of Chaos 08.10.2011 14:13 # +2
Win95 08.10.2011 14:14 # −2
Lure Of Chaos 08.10.2011 14:18 # +2
Win95 08.10.2011 14:21 # 0
K900 08.10.2011 14:23 # +3
Lure Of Chaos 08.10.2011 14:25 # +3
K900 08.10.2011 14:26 # 0
guest 11.11.2011 20:58 # −1
guest 11.11.2011 21:09 # −1
Win95 08.10.2011 14:32 # −7
guest 08.10.2011 16:56 # 0
carsten 12.10.2011 09:21 # +3
Win95 12.10.2011 21:30 # −1
guest 21.10.2011 01:36 # +4
Win95 21.10.2011 19:02 # −3
bugmenot 21.10.2011 19:22 # +4
Win95 21.10.2011 19:24 # −3
Lure Of Chaos 08.10.2011 14:23 # 0
Win95 08.10.2011 14:27 # 0
Lure Of Chaos 08.10.2011 14:31 # +2
больше практикуйтесь. но промежуточные результаты, пожалуйста, не выкладывайте на говнокод
guest 08.10.2011 14:24 # +1
guest 08.10.2011 14:26 # +2
Да, уж чего в Питоне не хватает — так это ООП. Пичалька.
K900 08.10.2011 14:28 # +2
print oct(int(eval("0b" + raw_input())))
По желанию зойпилить try/except блоки.
Lure Of Chaos 08.10.2011 14:32 # 0
Win95 08.10.2011 14:37 # 0
gegMOPO4 08.10.2011 16:37 # +1
oct приписывает лишний префикс.
guest 08.10.2011 16:59 # −1
gegMOPO4 08.10.2011 17:47 # 0
Win95 08.10.2011 14:36 # 0
Lure Of Chaos 08.10.2011 14:38 # 0
Win95 08.10.2011 14:39 # 0
alexoy 08.10.2011 14:55 # −3
guest 08.10.2011 14:55 # +2
Lure Of Chaos 08.10.2011 14:57 # 0
guest 08.10.2011 14:59 # +5
bugmenot 09.10.2011 05:36 # 0
TheHamstertamer 08.10.2011 19:20 # +3
Это же Пайтон, тут должно быть spam, egg
guest8 09.04.2019 11:41 # −999