Предмет: Информатика, автор: 20Monika11

мы создаем лист, программа понимает если там все элементы четные то все делим на 2, если все не четные умнайаем на 3 прибавляем 1, если есть и то и то, то четнему прибовляем 1, не четному исклчаем 1

в питоне

Ответы

Автор ответа: rosalinkey
0
def process_sheet(sheet):
even_flag = True
odd_flag = False
for item in sheet:
if item % 2 == 0:
continue
else:
even_flag = False
odd_flag = True
break
if even_flag:
for i in range(len(sheet)):
sheet[i] = sheet[i] / 2
elif odd_flag:
for i in range(len(sheet)):
sheet[i] = sheet[i] * 3 + 1
else:
for i in range(len(sheet)):
if sheet[i] % 2 == 0:
sheet[i] = sheet[i] + 1
else:
sheet[i] = sheet[i] - 1
return sheet

20Monika11: не правильно, не роботает, можно без continue??
rosalinkey: def process_sheet(sheet):
even_count = 0
odd_count = 0
for item in sheet:
if item % 2 == 0:
even_count += 1
else:
odd_count += 1
if even_count == len(sheet):
for i in range(len(sheet)):
sheet[i] = sheet[i] / 2
elif odd_count == len(sheet):
for i in range(len(sheet)):
sheet[i] = sheet[i] * 3 + 1
else:
for i in range(len(sheet)):
if sheet[i] % 2 == 0:
sheet[i] = sheet[i] + 1
else:
sheet[i] = sheet[i] - 1
return sheet
rosalinkey: Первый код тоже работает
Похожие вопросы
Предмет: Математика, автор: rudud27