cnt = 0 # количество чисел в последовательности
mean = 0 # среднее значение последовательности
mod3 = 0 # количество чисел, делящихся на 3
mod3_7 = 0 # количество чисел, делящихся на 3, но не делящихся на 7
cnt2 = 0 # количество двузначных чисел
cnt2_3 = 0 # количество двузначных чисел, оканчивающихся на 3
maxx = None # максимальное число
maxx_mod2 = None # максимальное из чётных
maxx2 = None # второй максимум
maxmin = None # разница между максимальным и минимальным
a = int(input('Введите целое число: '))
while a != 0:
cnt += 1
mean += a
if abs(a)%3 == 0: mod3 += 1
if abs(a)%3 == 0 and abs(a)%7 != 0: mod3_7 += 1
if abs(a)//10 != 0 and abs(a)//100 == 0: cnt2 += 1
if abs(a)//10 != 0 and abs(a)//100 == 0 and abs(a)%10 == 3: cnt2_3 += 1
if maxx is None or a > maxx: maxx = a
if abs(a)%2 == 0 and (maxx_mod2 is None or a > maxx_mod2): maxx_mod2 = a
if a < maxx and (maxx2 is None or maxx2 < a): maxx2 = a
if maxmin is None or a < maxmin: maxmin = a
a = int(input('Введите ещё одно целое число или 0 для завершения: '))
print()
print('- количество чисел в последовательности:', cnt)
if cnt != 0:
print('- среднее значение последовательности:', round(mean/cnt,2))
print('- количество чисел, делящихся на 3:', mod3)
print('- количество чисел, делящихся на 3, но не делящихся на 7:', mod3_7)
print('- количество двузначных чисел:', cnt2)
print('- количество двузначных чисел, оканчивающихся на 3:', cnt2_3)
print('- максимальное число:', maxx)
print('- максимальное из чётных:', maxx_mod2)
print('- второй максимум:', maxx2)
print('- разница между максимальным и минимальным:', maxx - maxmin)
То же самое, но с массивом и лямбда-функциями:
values = []
values.append(a)
print('- количество чисел в последовательности:', len(values))
if len(values) != 0:
print('- среднее значение последовательности:', round(sum(values)/len(values), 2))
print('- количество чисел, делящихся на 3:', len(list(filter(lambda x: abs(x)%3 == 0, values
print('- количество чисел, делящихся на 3, но не делящихся на 7:', len(list(filter(lambda x: abs(x)%3 == 0 and abs(x)%7 != 0, values
print('- количество двузначных чисел:', len(list(filter(lambda x: abs(x)//100 == 0 and abs(x)//10 != 0, values
print('- количество двузначных чисел, оканчивающихся на 3:', len(list(filter(lambda x: abs(x)//100 == 0 and abs(x)//10 != 0 and abs(x)%10 == 3, values
print('- максимальное число:', max(values))
print('- максимальное из чётных:', max(list(filter(lambda x: abs(x)%2 == 0, values
print('- второй максимум:', max(list(filter(lambda x: x<max(values), values
print('- разница между максимальным и минимальным:', max(values) - min(values))
cnt = 0 # количество чисел в последовательности
mean = 0 # среднее значение последовательности
mod3 = 0 # количество чисел, делящихся на 3
mod3_7 = 0 # количество чисел, делящихся на 3, но не делящихся на 7
cnt2 = 0 # количество двузначных чисел
cnt2_3 = 0 # количество двузначных чисел, оканчивающихся на 3
maxx = None # максимальное число
maxx_mod2 = None # максимальное из чётных
maxx2 = None # второй максимум
maxmin = None # разница между максимальным и минимальным
a = int(input('Введите целое число: '))
while a != 0:
cnt += 1
mean += a
if abs(a)%3 == 0: mod3 += 1
if abs(a)%3 == 0 and abs(a)%7 != 0: mod3_7 += 1
if abs(a)//10 != 0 and abs(a)//100 == 0: cnt2 += 1
if abs(a)//10 != 0 and abs(a)//100 == 0 and abs(a)%10 == 3: cnt2_3 += 1
if maxx is None or a > maxx: maxx = a
if abs(a)%2 == 0 and (maxx_mod2 is None or a > maxx_mod2): maxx_mod2 = a
if a < maxx and (maxx2 is None or maxx2 < a): maxx2 = a
if maxmin is None or a < maxmin: maxmin = a
a = int(input('Введите ещё одно целое число или 0 для завершения: '))
print()
print('- количество чисел в последовательности:', cnt)
if cnt != 0:
print('- среднее значение последовательности:', round(mean/cnt,2))
print('- количество чисел, делящихся на 3:', mod3)
print('- количество чисел, делящихся на 3, но не делящихся на 7:', mod3_7)
print('- количество двузначных чисел:', cnt2)
print('- количество двузначных чисел, оканчивающихся на 3:', cnt2_3)
print('- максимальное число:', maxx)
print('- максимальное из чётных:', maxx_mod2)
print('- второй максимум:', maxx2)
print('- разница между максимальным и минимальным:', maxx - maxmin)
То же самое, но с массивом и лямбда-функциями:
values = []
a = int(input('Введите целое число: '))
while a != 0:
values.append(a)
a = int(input('Введите ещё одно целое число или 0 для завершения: '))
print()
print('- количество чисел в последовательности:', len(values))
if len(values) != 0:
print('- среднее значение последовательности:', round(sum(values)/len(values), 2))
print('- количество чисел, делящихся на 3:', len(list(filter(lambda x: abs(x)%3 == 0, values
print('- количество чисел, делящихся на 3, но не делящихся на 7:', len(list(filter(lambda x: abs(x)%3 == 0 and abs(x)%7 != 0, values
print('- количество двузначных чисел:', len(list(filter(lambda x: abs(x)//100 == 0 and abs(x)//10 != 0, values
print('- количество двузначных чисел, оканчивающихся на 3:', len(list(filter(lambda x: abs(x)//100 == 0 and abs(x)//10 != 0 and abs(x)%10 == 3, values
print('- максимальное число:', max(values))
print('- максимальное из чётных:', max(list(filter(lambda x: abs(x)%2 == 0, values
print('- второй максимум:', max(list(filter(lambda x: x<max(values), values
print('- разница между максимальным и минимальным:', max(values) - min(values))