Уведомления

Группа в Telegram: @pythonsu

#1 Май 16, 2020 22:19:57

MamkoEB
От: Almaty
Зарегистрирован: 2020-05-15
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите обмазговать))

Создайте список, состоящий из 10 случайных чисел в диапазоне 12 до 10000.
На основе данного списка создайте 2 списка,
Первый список, хранящий числа, оканчивающиеся на 1,
Второй список для счастливых (сумма первой части равна сумме второй, например 11, 456915, 3461,22704, при нечётном количестве цифр центральная цифра либо не учитывается, либо учитывается для обоих частей числа)
Числа могут попадать одновременно в каждый из диапазонов.


from random import sample

print(*sample(range(12, 10000), 10))

создал только чтобы выводило 10 случайных чисел ,теперь не могу додуматься как дальше решить ,Буду рад за помощь

Офлайн

#2 Май 17, 2020 00:10:24

Romissevd
От: Счастье
Зарегистрирован: 2015-03-01
Сообщения: 533
Репутация: +  76  -
Профиль   Отправить e-mail  

помогите обмазговать))

Создай два пустых списка.
Циклом проходишь по списку из случайных чисел и конструкцией if проверяешь первое условие, если истинно, то ложишь в первый список.
Во второй соответственно ложишь счастливые числа.

Офлайн

#3 Май 17, 2020 00:39:47

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9716
Репутация: +  842  -
Профиль   Отправить e-mail  

помогите обмазговать))

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]
>>>

Я сделал всё, чтобы ты понял, смог бы ты сам это сделать, попробовав просто догадаться. Скорее всего, не смог бы. Это значит, что нужно читать книги, чтобы получить сначала знания по теории, а потом уже пытаться их применить на практике.



Офлайн

#4 Май 17, 2020 19:37:17

MamkoEB
От: Almaty
Зарегистрирован: 2020-05-15
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите обмазговать))

py.user.next
спасибо большое)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version