Форум сайта python.su
Создайте список, состоящий из 10 случайных чисел в диапазоне 12 до 10000.
На основе данного списка создайте 2 списка,
Первый список, хранящий числа, оканчивающиеся на 1,
Второй список для счастливых (сумма первой части равна сумме второй, например 11, 456915, 3461,22704, при нечётном количестве цифр центральная цифра либо не учитывается, либо учитывается для обоих частей числа)
Числа могут попадать одновременно в каждый из диапазонов.
from random import sample
print(*sample(range(12, 10000), 10))
создал только чтобы выводило 10 случайных чисел ,теперь не могу додуматься как дальше решить ,Буду рад за помощь
Офлайн
Создай два пустых списка.
Циклом проходишь по списку из случайных чисел и конструкцией if проверяешь первое условие, если истинно, то ложишь в первый список.
Во второй соответственно ложишь счастливые числа.
Офлайн
MamkoEB
Создайте список, состоящий из 10 случайных чисел в диапазоне 12 до 10000.
>>> import random >>> >>> lst = [random.randint(12, 10000) for _ in range(10)] >>> lst [8902, 3423, 8111, 4694, 9148, 4664, 4863, 5435, 8027, 4293] >>>
Romissevd
На основе данного списка создайте 2 списка,
Первый список, хранящий числа, оканчивающиеся на 1,
>>> import random >>> >>> lst = [random.randint(12, 10000) for _ in range(10)] >>> lst [1381, 3311, 8777, 286, 6982, 7735, 7234, 1577, 9494, 5917] >>> >>> end_digit1_lst = [i for i in lst if i % 10 == 1] >>> end_digit1_lst [1381, 3311] >>>
MamkoEB
Второй список для счастливых (сумма первой части равна сумме второй, например 11, 456915, 3461,22704, при нечётном количестве цифр центральная цифра либо не учитывается, либо учитывается для обоих частей числа)
>>> import random >>> >>> lst = [random.randint(12, 10000) for _ in range(10)] >>> lst [8659, 8488, 2596, 6475, 6378, 9412, 2885, 6659, 6996, 8260] >>> >>> def is_happy(number): ... string = str(number) ... length = len(string) ... left_part = string[:length // 2] ... right_part = string[-(length // 2):] ... left_sum = sum(map(int, left_part)) ... right_sum = sum(map(int, right_part)) ... return left_sum == right_sum ... >>> happy_lst = [i for i in lst if is_happy(i)] >>> happy_lst [8659, 6996] >>>
Офлайн
py.user.nextспасибо большое)
Офлайн