Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/569: Рейтинг темы: голосов - 569, средняя оценка - 4.56
 Аватар для ship79
3 / 3 / 0
Регистрация: 15.12.2013
Сообщений: 155

Ряд четных чисел от 0 до 20?

18.05.2015, 14:31. Показов 112852. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
помогите пожалуйста новичку в изучении Python . никак что-то не могу понять, как мне вывести эти четные числа...
Python
1
2
3
4
5
6
7
8
9
>>> i = 0
>>> while i < 20:
    if i % 2 == 0:
        a = i
    i = i + 1
 
    
>>> print (a)
18
вот что ввожу и что он мне выводит... объясните в чем ошибся
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.05.2015, 14:31
Ответы с готовыми решениями:

Задан ряд чисел оканчивающихся 0. Сколько из них четных
1)Задан ряд чисел оканчивающихся 0.сколько из них четный

Десять раз генерировать ряд случайных чисел от 0 до 99 . Каждый ряд также должен иметь произвольную длину . В каждом ряд
Десять раз генерировать ряд случайных чисел от 0 до 99 . Каждый ряд также должен иметь произвольную длину . В каждом ряде следует найти...

Поиск в водимом целочисленном одномерном массиве четных чисел и вывод полученного результата в виде массива четных чисел
Напишите программу, выполняющую следующий алгоритм: ввод целочисленного одномерного массива, поиск в нем четных чисел и вывод полученного...

12
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
18.05.2015, 14:57
Python
1
2
3
4
5
i = 0
while i <= 20:
    if i % 2 == 0:
        print(i)
    i += 1
Вывод должен производиться в цикле, чтобы выводилось каждое полученное чётное число. Ну или нужно складывать найденные числа в список и потом выводит список. В твоём варианте получается, что каждый раз затирается предыдущее полученное число и в итоге ты выводишь последнее полученное число.
2
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
18.05.2015, 17:30
Лучший ответ Сообщение было отмечено Avazart как решение

Решение

В свете современых веяний:
Python
1
print("\n".join([str(num) for num in range(0, 20, 2)]))
1
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
18.05.2015, 17:37
Цитата Сообщение от Marinero Посмотреть сообщение
В свете современых веяний:
Думаю для ship79, это не актуально, он и не поймёт этого и если это лаба, то не сможет сдать это преподу.
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
18.05.2015, 17:43
alex925, Хотел сразу направить в верном направлении…

Не по теме:

Если бы мне кто-то подсказал: "Бросай заниматься фигней, а обрати внимание на генераторы, методы, библиотеки… Я может и не женился бы!"

0
44 / 44 / 37
Регистрация: 11.12.2012
Сообщений: 200
Записей в блоге: 2
18.05.2015, 20:04
Еще один вариант

Python
1
2
3
4
5
6
count = 0;
 
while True:
    if count != 20:
        count += 2
        print(count)
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
18.05.2015, 22:44
1ds, А где выход из цикла?
Python
7
8
else:
    break
И вообще на всякий
Python
4
if count < 20:
Только зачем
Python
3
4
while True:
    if count != 20:
если можно сразу
Python
3
while count < 20:
И вообще
Python
1
2
for i in range(0, 20, 2):
    print(i)
2
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
19.05.2015, 07:15
Раз уж зашла такая тема, то можно и вот так:
Python
1
2
3
for num in range(20):
    if (num & 1) != 1:
        print(num)
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
19.05.2015, 13:45
Python
1
range(20)[::2]
Добавлено через 14 минут
Способ для маньяков:

Python
1
2
3
4
5
6
import numpy as np
arr = np.arange(20)
 
from numpy.lib.stride_tricks import as_strided
l = len(arr) / 2
as_strided(arr, strides=(8, ))[:l]
0
 Аватар для ship79
3 / 3 / 0
Регистрация: 15.12.2013
Сообщений: 155
19.05.2015, 14:02  [ТС]
оу... какое бурное обсуждение вызвал мой маленький вопрос ) всем большое спасибо!
да, было верно подмечено, что сложный код мне сейчас ни к чему , я его не пойму просто пока что ...
думаю возьму себе на заметку эти два кода:
Цитата Сообщение от Marinero Посмотреть сообщение
И вообще
Код Python
1 for i in range(0, 20, 2):
2 print(i)
Цитата Сообщение от alex925 Посмотреть сообщение
Код Python

1 i = 0
2 while i <= 20:
3 if i % 2 == 0:
4 print(i)
5 i += 1
alex925, спасибо за пояснение моей ошибки:
Цитата Сообщение от alex925 Посмотреть сообщение
Вывод должен производиться в цикле, чтобы выводилось каждое полученное чётное число. Ну или нужно складывать найденные числа в список и потом выводит список. В твоём варианте получается, что каждый раз затирается предыдущее полученное число и в итоге ты выводишь последнее полученное число.
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
19.05.2015, 15:27
Цитата Сообщение от Avazart Посмотреть сообщение
Не думал что генераторы считаются продвинутыми средствами
Ну я думаю, что новички о них ни с ном не духом (ну и сам ship79 это подтверждает).
Цитата Сообщение от Avazart Посмотреть сообщение
но вот пример без него уже привел Marinero
Этот код актуален, только если ряд именно 0...20, а если он начинается с например с 1, то тут уже все ломается.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
19.05.2015, 15:40
Цитата Сообщение от alex925 Посмотреть сообщение
Этот код актуален, только если ряд именно 0...20, а если он начинается с например с 1, то тут уже все ломается.
Что ломается ? 1 это нечетное число с него начинаться ряд никак не может.
Python
1
2
for i in range(2, 20, 2):
    print(i)
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
19.05.2015, 19:36
Цитата Сообщение от alex925 Посмотреть сообщение
а если он начинается с например с 1, то тут уже все ломается.
Если мы можем предугадать такую ситуацию (рассуждение на тему "Если бы он нёс патроны"), тогда стоит поставить проверку на четность начала интервала (но проверить 1 раз, а не каждое число!):
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
print('Для получения списка четных чисел в заданном интервале:')
 
def my_input(message):
    my_var = ''
    while ! my_var.isdigit():
        my_var = input('\n>>> Введите число - ' + message + ' интервала: ')
    return int(my_var)
 
start = my_input('начало')
end = my_input('конец')
 
if end < start:
    start, end = end, start
 
if start % 2 != 0:
    start += 1
 
for i in range(start, end, 2):
    print(i)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.05.2015, 19:36
Помогаю со студенческими работами здесь

Найдите среднее арифметическое чётных чисел. Если таких нет, выведите “Чётных чисел нет”
Есть N и последовательность N целых чисел. Найдите среднее арифметическое чётных чисел. Если таких нет, выведите “Чётных чисел нет”. ...

Если сумма четных чисел массива Т меньше суммы четных чисел массива С, то найти H
Сделайте в pascal ABC 5)Массив с процедурами Даны два одномерных массива целых чисел С и Т из N элементов. Если сумма четных чисел...

Вычислить разность между S1 и S2, где S1-сумма четных чисел от I1 до I2, S2-сумма четных чисел от J1 до J2.
Помогите пожалуйста написать вот такую программу: Вычислить разность между S1 и S2, где S1-сумма четных чисел от I1 до I2, S2-сумма...

Подсчитать сумму четных чисел. Вывести заполненный массив и сумму четных чисел
Нужна помощь с задачей: 2. Заполнить одномерный массив случайными числами, размер массива указывается с консоли. Подсчитать сумму...

Подсчитать количество четных положительных и четных отрицательных чисел среди введенных
Подсчитать количество четных положительных и четных отрицательных чисел среди введенных.


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

Или воспользуйтесь поиском по форуму:
13
Закрытая тема Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
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
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru