сдвигаю на 2 разряда в лево ( num << 2) На бумаге получается 470370 А в Pythone - 05164150 Почему?
num = oct(116076) num = int(num) num = num << 2 print oct(num)
num = oct(116076) num = int(num) num = num << 2 print oct(num)
In [1]: num = int('116076', 8) In [2]: num = num << 2 In [3]: print oct(num) 0470370
num = 0116076 num = num << 2 print oct(num) 0470370
JOHN_16в третьей версии заменили с 0173 на 0o173
Python понимает введенные числа следующим образом
…
восьмеричная система (приставка 0) - 0173
>>> num = int('116076', 8) >>> num <<= 2 >>> oct(num) '0o470370' >>>
iljaхрани в строках
если я ввожу число напр. 000010 Питон не воспринимает нули с лева
>>> '000010' '000010' >>> int('000010') 10 >>>
spis = [0,0,0,0,1,0]
spisToInt = [] spis = [0,0,0,0,1,0] for element in spis: num = spis[i] num = int(num,8) spisToInt[i].append(num) i = i+1
spis = [0,0,0,0,1,0] [int(str(x), 8) for x in spis]
iljaсудя по тому коду вы не понимаете что делаете, полистайте “Чаплыгин - учимся программировать вместе с Python” - времени займет 3-7 дней, зато пользы будет очень много
Заменил For на While и еще кое что Все работает :)
iljaтак Вы хотите изменить список или новый создать (судя по Вашему коду)?
Как мне сделать этот список типа Int ?