Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 08.04.2019
Сообщений: 10

С помощью классов найти 20 первых натуральных чисел, делящихся нацело на 17

14.06.2019, 10:39. Показов 4155. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
С помощью классов найти 20 первых натуральных чисел, делящихся нацело на 17 или на 13 и находятся в интервале, левая граница которого равна 500. Плиз!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.06.2019, 10:39
Ответы с готовыми решениями:

Найти 15 первых натуральных чисел делящихся нацело на 19
помогите 1) Найти 15первых натуральных чисел делящихся нацело на 19 и находящихся в интервале левая граница которого равна 100 (эту...

Найти 15 первых натуральных чисел, делящихся нацело на 19 и больших 100
Найти 15 первых натуральных чисел, делящихся нацело на 19 и больших 100.

Найти 15 первых натуральных чисел, делящихся нацело на 19 и больше 100
С помощью классов найти 15 первых натуральных чисел, дилятся нацело на 19 и находятся в интервал левая граница которого равна 100.

15
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
14.06.2019, 17:37
Zen26, Классы тут вообще не уместны. Без классов, в цикле ищите нужные Вам числа.

Добавлено через 4 минуты
Единственный класс, который Вы будете здесь использовать, это встроенный класс типа int.
Python
1
2
>>> type(50)
<class 'int'>
1
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
14.06.2019, 19:09
Решение "на скорую руку":
Python
1
2
r = range(500)
list(filter(bool, sorted(list(r[::13]) + list(r[::17]))))[:20]
Можно, конечно, и классов вокруг понаставить, но как-то не хочется.

Добавлено через 38 минут
Ладно, похулиганим чуток:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
class EnumeratorIterator(object):
    def __init__(self, step):
        self.current = 0
        self.step = step
 
    def __next__(self):
        self.current += self.step
        return self.current
 
 
class Enumerator(object):
    def __init__(self, step):
        self.step = step
 
    def __iter__(self):
        return EnumeratorIterator(self.step)
 
 
 
class ZipperIterator(object):
    def __init__(self, en1, en2):
        self.en1 = en1
        self.en2 = en2
        self.next = 0
        self.other = 0
 
        self.curr_iterator = en1.__iter__()
        self.other_iterator = en2.__iter__()
 
    def __next__(self):
        while self.next < 500:
            if self.next <= self.other:
                to_return = self.next
                self.next = self.curr_iterator.__next__()
                return to_return
            else:
                self.next, self.other = self.other, self.next
                self.curr_iterator, self.other_iterator = self.other_iterator, self.curr_iterator
        raise StopIteration
 
class Zipper(object):
    def __init__(self, en1, en2):
        self.en1 = en1
        self.en2 = en2
 
    def __iter__(self):
        return ZipperIterator(self.en1, self.en2)
 
en13 = Enumerator(13)
en17 = Enumerator(17)
 
z = Zipper(en13, en17)
for i in z:
    print(i)
Добавлено через 15 секунд
Решение не совсем точное - но поправите по вкусу.

Добавлено через 37 секунд
Шутки шутками, но это решение более эффективное, т. к. не содержит сортировки.

Добавлено через 5 минут
Update нижний кусок:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
class ZipperIterator(object):
    def __init__(self, en1, en2, limit, limit_quantity):
        self.next = 0
        self.other = 0
        self.limit = limit
        self.limit_quantity = limit_quantity
        self.counter = 0
 
        self.curr_iterator = en1.__iter__()
        self.other_iterator = en2.__iter__()
 
    def __next__(self):
        while self.next < self.limit and self.counter < self.limit_quantity:
            if self.next <= self.other:
                to_return = self.next
                self.next = self.curr_iterator.__next__()
                self.counter += 1
                return to_return
            else:
                self.next, self.other = self.other, self.next
                self.curr_iterator, self.other_iterator = self.other_iterator, self.curr_iterator
        raise StopIteration
 
class Zipper(object):
    def __init__(self, en1, en2, limit, limit_quantity):
        self.en1 = en1
        self.en2 = en2
        self.limit = limit
        self.limit_quantity = limit_quantity
 
    def __iter__(self):
        return ZipperIterator(self.en1, self.en2, self.limit, self.limit_quantity)
 
en13 = Enumerator(13)
en17 = Enumerator(17)
 
z = Zipper(en13, en17, 500, 20)
for i in z:
    print(i)
2
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
17.06.2019, 10:25
Вот ведь, даже спасибо не сказал. А ведь я потратил время.
0
 Аватар для Vigi
641 / 481 / 179
Регистрация: 28.05.2012
Сообщений: 1,419
17.06.2019, 11:16
Цитата Сообщение от dondublon Посмотреть сообщение
Вот ведь, даже спасибо не сказал. А ведь я потратил время.
Бывает
1
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
17.06.2019, 12:35
Цитата Сообщение от dondublon Посмотреть сообщение
Вот ведь, даже спасибо не сказал. А ведь я потратил время.
Из за таких я на своем компе завел базу данных, в которой отмечаю кому я помогаю и кто оценил мою помощь, а кто нет. Таким образом веду черный список тех, кому я больше не помогаю.
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
17.06.2019, 18:13
Viktorrus, боюсь, список распухнет быстро.
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
18.06.2019, 00:26
Цитата Сообщение от dondublon Посмотреть сообщение
боюсь, список распухнет быстро
Это не страшно, так как я завожу в БД под СУБД, то проверка мгновенная.

Добавлено через 6 минут
Сейчас у меня в списке всего 150 чел.
Из них:
В черном списке 34 чел.
В белом списке (кто поставил оценку или отметил как лучшый) 116 чел.
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
18.06.2019, 01:12
Viktorrus, нужно как-то помечать таких людей...
0
 Аватар для Vigi
641 / 481 / 179
Регистрация: 28.05.2012
Сообщений: 1,419
18.06.2019, 04:53
Цитата Сообщение от m0nte-cr1st0 Посмотреть сообщение
Viktorrus, нужно как-то помечать таких людей...
Ужас и тут "гетто"
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
18.06.2019, 07:36
Как-то не столь давно во вверенной мне ветке Java, имела место быть небольшая полемика на эту тему. К сожалению, уже не найду, возможно, что она в "Обо всем" переехала, но не суть.
Мнения также разделились. Одна из позиций - мы, в первую очередь, помогаем не собственно ТСу, а именно себе - кто менее опытен - учится (как, например, я в питоне ), кто более опытен - освежает и отттачивает свои навыки, попутно находя какие-то новые, нестандартные, более оптимизированные и т.д. решения.
С другой стороны - конечно обидно, когда ты не просто набросал какой-то однострочник, а потратил приличное количество времени на более развернутый ответ - а тебе даже спасибо не сказали, как будто ты обязан тут всем задачи решать. Особенно убивает, когда после твоего решения начинают выкатывать какие-то претензии, мол, не работает, или работает, да не так, или допиши то-то, то-то. Опять же, 50% тем новичков даже не подразумевает хоть какое-то обращение к форумчанам. Тупой копипаст методички (хорошо еще, если копипаст, а не скриншот или вообще фото экрана). Прям ЦУ выдают. И это очень печально, конечно.
Так что, каждый решает - как относится к подобным людям и как смотреть на ситуацию вцелом.

Не по теме:

Чето меня понесло... Сорри.

0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
18.06.2019, 10:07
iSmokeJC, эх, есть такое дело.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38167 / 21102 / 4307
Регистрация: 12.02.2012
Сообщений: 34,690
Записей в блоге: 14
18.06.2019, 10:57
"Классы" в этой задаче нужны, как корове седло. Хочу составить коллекцию дурацких задач - тех задач, к которым ООП "прикручивают" вопреки здравому смыслу.
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
18.06.2019, 14:11
Цитата Сообщение от m0nte-cr1st0 Посмотреть сообщение
нужно как-то помечать таких людей...
Я не вижу другой способа, как помечать у себя в базе данных. На форуме я не знаю такой возможности. Я как то заглядывал в раздел фриланса, вот там по моему есть возможность помечать не добросовестных заказчиков.
В общем для себя я эту проблему решил, и сразу стало на душе спокойнее, обиды меня уже не мучают.
Для, тех кто благодарен тебе, помогать не жалко, наоборот чувствуешь удовлетворение.
Цитата Сообщение от Catstail Посмотреть сообщение
"Классы" в этой задаче нужны, как корове седло.
Я тоже про это написал.
dondublon, же дал нормальное решение без классов. А с классами, это он просто по прикалывался.

Добавлено через 5 минут
Цитата Сообщение от Vigi Посмотреть сообщение
Ужас и тут "гетто"
Было бы замечательно, если бы здесь было "гетто" для тунеядцев, и свобода для тружеников стремящихся изучить питон. А то бывает решают задачу для тунеядца, еще к тому не благодарному, а не успевают помочь действительно добросовестно изучающему питон.
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
18.06.2019, 15:12
Цитата Сообщение от Viktorrus Посмотреть сообщение
dondublon, же дал нормальное решение без классов. А с классами, это он просто по прикалывался.
Ну не совсем. Во-первых, решение с классами - модульное, его можно легко разобрать на части и потом их как-нибудь перекомбинировать. Собственно, для этого классы и служат.

Во-вторых, задание топикстартеру явно давно для того, чтобы они попробовали и пощупали классы на вкус. Другое дело, что задача не подходящая и гораздо проще решается без классов. Но чисто для обучения, думаю, неплохая иллюстрация.
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
18.06.2019, 15:41
dondublon, Думаю Вы правы. Задание было сделать с классами и видимо для обучения использования классов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.06.2019, 15:41
Помогаю со студенческими работами здесь

Найти 15 первых натуральных чисел делящихся нацело на 19 и больших 100
1 С начала 1990 года по некоторый день прошло n месяцев и 2 дня (n&gt;=1). Определить к какому месяцу (январь, февраль, и тд.) относится этот...

Найти 15 первых натуральных чисел, делящихся нацело на 8 или на 7 и больших 300
Задание 2. Найти 15 первых натуральных чисел, делящихся нацело на 8 или на 7 и больших 300.

Найти 8 первых натуральных чисел, больших 200, делящихся нацело на 13 или на 17
:resent: Решите ещё плиз найти 8 первых натуральных чисел делящихся нацело на 13 или на 17 и больше 200

Найти 15 первых натуральных чисел, делящихся нацело на 8 или на 7 и больших 300
Найти 15 первых натуральных чисел, делящихся нацело на 8 или на 7 и больших 300.

Найти 20 первых натуральных чисел, делящихся нацело на 13 или на 17 и больших 500
Решите ещё плиз! у меня практика у меня уже крыша едет от этих задач! №98. Найти 20 первых натуральных чисел, делящихся нацело на 13...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru