Найти - Пользователи
Полная версия: Объясните кто может...
Начало » Python для новичков » Объясните кто может...
1 2
ilja
Ввожу число напр. 116076 в восьм. сист.
сдвигаю на 2 разряда в лево ( num << 2) На бумаге получается 470370 А в Pythone - 05164150 Почему?

    num = oct(116076)
    num = int(num)
    num = num << 2
    print oct(num)
GaiveR
Неправильно вводите восьмеричное число.

In [1]: num = int('116076', 8)
In [2]: num = num << 2
In [3]: print oct(num)
0470370
JOHN_16
Python понимает введенные числа следующим образом: десятичная система (просто число) - 123, двоичная форма (приставка 0b) - 0b1111011, восьмеричная система (приставка 0) - 0173, в шестандцатеричной системе (приставка 0x) - 0x7b
num = 0116076
num = num << 2
print oct(num)
0470370
ilja
Вот еще вопросик… Мне нужно получить список чисел, но я не могу это сделать, если я ввожу число напр. 000010 Питон не воспринимает нули с лева В итоге питон записывает только 010 Тобишь 8 :mad: А мне нужен список spis = Что делать??
py.user.next
JOHN_16
Python понимает введенные числа следующим образом

восьмеричная система (приставка 0) - 0173
в третьей версии заменили с 0173 на 0o173

>>> num = int('116076', 8)
>>> num <<= 2
>>> oct(num)
'0o470370'
>>>
версия для третьего питона


ilja
если я ввожу число напр. 000010 Питон не воспринимает нули с лева
храни в строках

>>> '000010'
'000010'
>>> int('000010')
10
>>>
ilja
Дык мне нужна строка или список как раз

spis = [0,0,0,0,1,0]
Если у меня есть список типа str Как мне сделать этот список типа Int ?

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

Ошибка out of range
ilja
Заменил For на While и еще кое что Все работает :)
JOHN_16
ilja можно короче используя генераторы списков:
spis = [0,0,0,0,1,0]
[int(str(x), 8) for x in spis]
JOHN_16
ilja
Заменил For на While и еще кое что Все работает :)
судя по тому коду вы не понимаете что делаете, полистайте “Чаплыгин - учимся программировать вместе с Python” - времени займет 3-7 дней, зато пользы будет очень много
dimy44
ilja
Как мне сделать этот список типа Int ?
так Вы хотите изменить список или новый создать (судя по Вашему коду)?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB