@Yonghwa
121

В чем подвох условия?

numbers = [1,3,5]
position = 0
while position < len(numbers):
	number = numbers[position]
	if number % 2 == 0:
		print('Found even number', number)
		break
	position = position + 1
else :
	print('not even number found')


При первой же итерации, 1%2 == 0, и он должен вывести "Found even number, 1, и выйти из цикла.Почему нет?
Он выводит else.
  • Вопрос задан
  • 451 просмотр
Решения вопроса 1
BuriK666
@BuriK666
Компьютерный псих
Python 2.7.10 (default, May 28 2015, 21:40:30) 
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 1 % 2
1
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
SolidlSnake
@SolidlSnake
Ваш дружелюбный сосед
И пожалуйста, не надо говнокодить.
numbers = [1,3,5]
for number in numbers:
    if ...:
    else:
Ответ написан
Комментировать
@SergeyZelensky-Rostov
оператор % остаток от деления , то есть записьnumber % 2 == 0 проверяет четный или нечетный number в случае если number=1 1делим на 2 получаем остаток условие не выполняется и срабатывает else
Ответ написан
svfat
@svfat
☺Нужен VPS? Два месяца бесплатно. Смотри профиль☺
А с чего вы решили что 1 % 2 == 0? По моим подсчетам это равно 1.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы