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

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

14.06.2019, 10:39. Показов 4267. Ответов 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
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 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
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 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
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 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
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
18.06.2019, 10:07
iSmokeJC, эх, есть такое дело.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38201 / 21133 / 4310
Регистрация: 12.02.2012
Сообщений: 34,740
Записей в блоге: 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
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru