Форум сайта python.su
Здравствуйте!
Имеется список. Элементы списка - числа. С ними нужно произвести определенные действия в зависимости от значения.
Первоначально код был такой:
b[4,1,0,0,0] nlit=(b,[1]) for i in range (nlit): elemlit=(b[i]) print(elemlit) if elemlit==0:
b=[4,1,0,0,0] nlit=int(b,[1]) for i in range (nlit): elemlit=int(b[i])+1 if elemlit==0:
Отредактировано Simka (Июль 20, 2020 18:15:38)
Офлайн
Simkaони и так int ( в вашем случае) а что вы пытаетесь делать тут
почему элементы списка не воспринимаются как int
nlit=int(b,[1])
Отредактировано marvellik (Июль 20, 2020 18:29:47)
Офлайн
SimkaУ тебя синтаксическая ошибка на 3 строчке между b и “1” не должно быть запятой если ты отбираешь из списка b по индексу то это (b[ x]) а если ты присваиваешь список b и 1 то это (b, 1)
Здравствуйте!Имеется список. Элементы списка - числа. С ними нужно произвести определенные действия в зависимости от значения.Первоначально код был такой:
b=[4,1,0,0,0] c=[4,1,0,1,0] nlit=int(b[1]) for i in range (nlit): elemlit=int(b[i])+1 if elemlit==0: pass
Отредактировано Nikita_PyCharm (Июль 20, 2020 18:35:20)
Прикреплённый файлы: tesk.py (135 байт)
Офлайн
marvellik
функция int() принимает один аргумент
print int('4b', 16)
Офлайн
FishHook вообщем то вы правы
'''В языке программирования Python встроенная функция int() возвращает целое число в десятичной системе счисления (класс int). Если вызвать функцию int() без аргументов, она вернет 0. Чаще всего функции int() передают только один аргумент, который может быть либо строкой, либо числом
Строки должны быть символьными представлениями целого числа, иначе будет сгенерирована ошибка ValueError'''
я же уточнил что первые страницы. автору пока нужно именно это понять. ну а дальше ровно то что вы и показали.
'''В случае, когда указывается второй аргумент для функции int(), первый всегда должен быть строкой. С помощью второго аргумента функции int() сообщается, в какой системе счисления находится число, указанное в строке первого аргумента. Функция int() возвращает его значение в десятичной системе счисления.'''
у автора первый аргумент явно не строка а второй ну точно не система счисления.
Nikita_PyCharm а как с таким списком ваше решение работает?
b=[4,150,0,0,0] nlit = int(b[1]) for i in range (nlit): elemlit=int(b[i])+1 if elemlit==0: pass
b = [4,150,0,0,0] for elem in b: if elem == 0: pass else: print(elem,'|', elem*2)
Офлайн
marvellikПоподробнее о том, что я пытаюсь сделать.
что вы пытаетесь делать тут
b[4,1,0,0,0]
nlit=(b,[1])
for i in range (nlit):
elemlit=(b[i])
print(elemlit)
if elemlit==0:
Отредактировано Simka (Июль 21, 2020 00:06:39)
Офлайн
Nikita_PyCharmСпасибо, даже неловко за такую ошибку!
У тебя синтаксическая ошибка на 3 строчке между b и “1” не должно быть запятой
Офлайн
ну что то проясняется
>>> b = [4,1,0,0,0] >>> b[1] 1 >>> b[0] 4 >>>
>>> nlit = b[0] >>> for i in range (nlit): print(b[i]) 4 1 0 0 >>>
>>> for i in range (nlit): print(b[i + 1]) 1 0 0 0
Отредактировано marvellik (Июль 21, 2020 13:21:21)
Офлайн
marvellikСпасибо! И для nlit надо было нулевой элемент списка брать… Конечно же забыл. Или точнее - иногда сбивают старые навыки программирования на Algol-68 для ЭВМ Минск-22. Такой я “динозавр”.
вы наверно забыли что индексы начинаются с нуля? b это явно не первое число списка.
Отредактировано Simka (Июль 21, 2020 16:54:17)
Офлайн
Simka
я думал тут один такой древний
Офлайн