Форум сайта python.su
FishHookПример потрясающий. Решение найдено.
Вопрос аналогичный “как сделать ничего”.
- Если анализы будут положительными, то я застрелюсь.
- А если отрицательными?
- Ничего не буду делать.
list = [] while len(list) != 5: list1 = int(input("Введите число = ")) list.append(list1) print(list) a = [] for i in range(len(list)): if list[i] > 0 and list[i - 1] > 0 and i != 0: a.append(list[i]) a.append(list[i - 1]) #print(list[i], list[i - 1]) elif list[i] < 0 and list[i - 1] < 0 and i != 0: a.append(list[i]) a.append(list[i - 1]) #print(list[i], list[i - 1]) if len(a) != 0: print(a[0], a[1], sep=" и ") elif len(a) == 0: pass
Отредактировано Dorum (Ноя. 26, 2016 15:36:35)
Офлайн
все намного проще
li_st = [int(i) for i in input().split()] for i in range (len(li_st)-1): if li_st[i]*li_st[i+1]>0: print(li_st[i],li_st[i+1]) break
Офлайн
Все еще гораздо проще, причем дает все пары, а не только первую
l = [1, 4, -2, 3, -1, -1, 0, 78, 8, -7, 0, 2] print([x for x in zip(l, l[1:]) if x[0] * x[1] > 0])
Отредактировано FishHook (Ноя. 26, 2016 20:17:34)
Офлайн
FishHookсогласен. но согласно полному условию требуется только первая
Все еще гораздо проще, причем дает все пары, а не только первую
Офлайн
Простите, но чтото здесь я затупил
for i in range(len(list)): if list[i] > 0 and list[i - 1] > 0 and i != 0:
Отредактировано Iskatel (Ноя. 29, 2016 00:31:38)
Офлайн
IskatelА индекс -1 вас чем смущает?
Простите, но чтото здесь я затупил
Офлайн
IskatelВо-первых, -1 индекс - это последний элемент моего списка, а во-вторных, мое условие исключает первый, а он же 0 индекс, то есть i не должен равняться 0.
ведь list(i - 1) на первом же проходе должно выдавать “аут оф боундс”
Офлайн
Да дошло уже, С++ меня еще не отпустил
Офлайн
FishHook
l =
print([x for x in zip(l, l) if x * x > 0])
print([(x,y) for x,y in zip(l, l[1:]) if x*y > 0])[/quote]
Офлайн
IskatelПереходите лучше на D.
Да дошло уже, С++ меня еще не отпустил
Офлайн