16 / 14 / 4
Регистрация: 05.06.2019
Сообщений: 79

Работа со списками. True и False

24.08.2020, 13:01. Показов 3427. Ответов 7

Студворк — интернет-сервис помощи студентам
Нужно проверить элементы массива. Если при сложении элемента с переменной ex_candy значение больше наибольшего элемента массива(или равно ему), то записать как True. Иначе False
При elem = 1 код ведет странно. False присваевается к первому элементу, единицу пропускает. Цикл продолжается на следующей итерации. Так только с 1. При других значениях переменой и элементами массива проблем нет.
Саму задачу решил, немного переписав код, но хотелось бы узнать в чем проблема здесь?

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
can = [2, 3, 5, 1, 3]
 
 
ex_candy = 3
great = 0
 
for i in can:
    if i > great:
        great = i
 
for elem in can:
    ind = can.index(elem)
    if elem + ex_candy >= great:
        can[ind] = True
    else:
        can[ind] = False
 
print(can)
Изображения
 
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.08.2020, 13:01
Ответы с готовыми решениями:

Меняется значение элемента с true на false, но не отрабатывается смена :disabled=true на :disabled=false
<button type="button" @click="buttonsClick(0)" :disabled="switcher" class="btn btn-dark">Первая кнопка</button> <button...

Нужно записать формулу в С++ not(pred(t) = false) or (ord(f) <> 1),при t=true,f=false
Нужно записать формулу в С++ not(pred(t) = false) or (ord(f) &lt;&gt; 1),при t=true,f=false Подробнее,пожалуйста

TRUE соответствует «орел», а FALSE — «решка». Составить пять выражений, выдающих TRUE для следующих случаев
В переменные M1, M2 и M3 вводится итог подбрасывания трех монет так, что TRUE соответствует «орел», а FALSE — «решка». Надо составить...

7
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,687
Записей в блоге: 29
24.08.2020, 13:08
user1472382, что говорит отладчик?
использовать функцию max() нельзя?

Добавлено через 1 минуту
Python
1
2
3
4
>>> can = [2, 3, 5, 1, 3]
>>> ex_candy = 3
>>> [e>= max(can)-ex_candy for e in can]
[True, True, True, False, True]
1
16 / 14 / 4
Регистрация: 05.06.2019
Сообщений: 79
24.08.2020, 13:12  [ТС]
Для меня отладка, пока, как темный лес. Поэтому написал сюда)
Про функцию max() не слышал (учу по книге Лутца, попутно решая задачи), спасибо
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,687
Записей в блоге: 29
24.08.2020, 13:16
Цитата Сообщение от user1472382 Посмотреть сообщение
Поэтому написал сюда)
я и не говорю, что сюда не нужно писать, просто на всякий случай спросил. Отладчик обязательно надо освоить. То, что Лутца читаешь -хорошо
0
16 / 14 / 4
Регистрация: 05.06.2019
Сообщений: 79
24.08.2020, 13:19  [ТС]
Welemir1, еще раз спасибо (хороший код, возьму на заметку), но задачу я решил.
Вопрос, почему пропускается единица, при чем только единица, остается открытым. С точки зрения логики все верно.
Если обращаться на прямую к индексу, то код выполняется верно

Python
1
2
3
4
5
6
 
for elem in range(len(can)):
            if candies[elem] + ex_can >= great:
                can[elem] = True
            else:
                can[elem] = False
Если есть ошибка в коде, можете пнуть. Но мне интересно
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,687
Записей в блоге: 29
24.08.2020, 13:27
Лучший ответ Сообщение было отмечено user1472382 как решение

Решение

Цитата Сообщение от user1472382 Посмотреть сообщение
Если есть ошибка в коде, можете пнуть. Но мне интересно
это не ошибка, неверный подход к решению)
дело в том что True и False - булины, а они в питоне наследники класса int, то есть это целые числа 1 и 0 соответственно. А дальше сам прикинь как будет работать твое условие когда 1 и вот это
ind = can.index(elem) # True это тоже 1

Python
1
2
3
4
5
6
7
8
9
10
>>> True==1
True
>>> True==0
False
>>> False==0
True
>>> [True,False].index(1)
0
>>> [True,False].index(0)
1
Добавлено через 51 секунду
то что пытаешься копать до причины -хорошо
1
16 / 14 / 4
Регистрация: 05.06.2019
Сообщений: 79
24.08.2020, 13:35  [ТС]
Welemir1, то есть при elem = 1 строка
Code
1
ind = can.index(elem)
ищет в массиве первый элемент с значением 1 и находит True(который равный = 1)?
Никогда бы не догадался. Еще раз, огромное спасибо
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,687
Записей в блоге: 29
24.08.2020, 13:53
Цитата Сообщение от user1472382 Посмотреть сообщение
Никогда бы не догадался.
догадался бы, дочитав Лутца , он всем ум в порядок приводит.

Добавлено через 30 секунд
вот тебе по отладчику https://youtu.be/h65olkZRs2A
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.08.2020, 13:53
Помогаю со студенческими работами здесь

define true false; AllowNoPassword=true
Добрый день! Разворачиваю новую рабочую площадку на новом компе. Установил LAMP - все заработало. Установил PhpMyAdmin с репа -...

на кнопку кликаешь, Image1.Visible:=False; Image2.Visible:=True; Eще раз ликаешь, Image1.Visible:=True; Image2.Visible:=False.
на кнопку кликаешь, Image1.Visible:=False; Image2.Visible:=True; Eще раз ликаешь, Image1.Visible:=True; Image2.Visible:=False. ...

Сколько шагов редукции при нормальной стратегии требуется для преобразования OR TRUE FALSE к нормальной форме TRUE
Пусть FALSE≡λx.λy.y,TRUE≡λx.λy.x и OR≡λx.λy.(xTRUE)y. Сколько шагов редукции при нормальной стратегии требуется для преобразования OR TRUE...

Глюк false = true == true;
Возник глюк, пишу: result.isPlus = this-&gt;isPlus == numberBigSize.isPlus; Поля &quot;this-&gt;isPlus&quot; и &quot;numberBigSize.isPlus&quot; равны...

define('true',false,true);
Слушаю видео, там затрагивает вопрос констант в ПХП, автор говорит что если вы хотите человека довести до сумасшествия, объявите так. ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru