С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
in code we trust
133 / 162 / 12
Регистрация: 29.02.2016
Сообщений: 885
1

Почему разные переменные разных функций lambda равны?

18.10.2016, 00:00. Показов 1157. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
# coding: utf8
import random
 
 
def hv():
    global a
    global b
    a = "dfg"
    b = "uipnj"
    print("start!!!")
hv()
print("Это значения переменных - ", a, b)
 
 
def usl():
    global l1
    global l2
    l1 = a
    l2 = b
    l1 = (lambda y: str(y))(print(random.choice(a) + random.choice(a) + random.choice(a)))
    l2 = (lambda x: str(x))(print(random.choice(b) + random.choice(b) + random.choice(b)))
    if l1 != l2:
        print("не равны")
    elif l1 == l2:
        print("Равны? Почему так?")
    else:
        print("зззззззззззз")
usl()
0
IT_Exp
Эксперт
8794 / 1073 / 104
Регистрация: 17.06.2006
Сообщений: 12,602
Блог
18.10.2016, 00:00
Ответы с готовыми решениями:

Почему в разных версиях Ubuntu разные регистры в двоичном коде и в принципе разные адреса команд и т.д
Я компилирую программу на C в ubuntu через gcc, потом хочу посмотреть двоичный код, но ,почему то,...

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

Почему нужны разные компиляторы для разных ОС, а не для разных процессоров?
Смотрю CS50 и там проходят C и говорится, что для для каждой ОС нужен свой компилятор, который для...

В разных версиях разные результаты! Почему?
Почему в MATLAB Version: 8.1.0.604 (R2013a) >> sin(2+3i)*atan(4i)/(1-6i) ans = -1.8009 -...

11
440 / 432 / 159
Регистрация: 21.05.2016
Сообщений: 1,338
18.10.2016, 01:43 2
Лучший ответ Сообщение было отмечено __py__ как решение

Решение

Функция print() ничего не возвращает, поэтому l1==l2==None

Python
1
l1 = (lambda y: str(y))(random.choice(a) + random.choice(a) + random.choice(a))
1
in code we trust
133 / 162 / 12
Регистрация: 29.02.2016
Сообщений: 885
18.10.2016, 05:27  [ТС] 3
А как грамотно заменить значения переменных a , b на значения lambda функций?

Добавлено через 2 минуты
Хотя если lambda функция ничего не возвращает, то не поможет наверно.

Добавлено через 5 минут
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
# coding: utf8
__author__ = 'yesok'
import random
 
 
def hv():
    global a
    global b
    a = "dfg"
    b = "uipnj"
    print("start!!!")
hv()
print("Это значения переменных - ", a, b)
 
 
def usl():
    global l1
    global l2
    l1 = (lambda y: str(y))(print(random.choice(a) + random.choice(a) + random.choice(a)))
    l2 = (lambda x: str(x))(print(random.choice(b) + random.choice(b) + random.choice(b)))
    if l1 != l2:
        print("not equality")
    elif l1 == l2:
        print("eq")
    else:
        print("зззззззззззз")
usl()
убрал лишнее, но вопрос остался.
0
2741 / 2340 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
18.10.2016, 06:00 4
Цитата Сообщение от __py__ Посмотреть сообщение
Хотя если lambda функция ничего не возвращает, то не поможет наверно.
Вообще-то возвращает, если что так

Добавлено через 1 минуту
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
import random
 
 
def hv():
    global a
    global b
    a = "dfg"
    b = "uipnj"
    print("start!!!")
 
 
hv()
print("Это значения переменных - ", a, b)
 
 
def usl():
    global l1
    global l2
    l1 = a
    l2 = b
    l1 = (lambda y: str(y))(random.choice(a) + random.choice(a) + random.choice(a))
    l2 = (lambda x: str(x))(random.choice(b) + random.choice(b) + random.choice(b))
    if l1 != l2:
        print("не равны")
    elif l1 == l2:
        print("Равны? Почему так?")
    else:
        print("зззззззззззз")
 
 
usl()
0
in code we trust
133 / 162 / 12
Регистрация: 29.02.2016
Сообщений: 885
18.10.2016, 10:25  [ТС] 5
Но также равны? Почему?
Изначально был код с l1 = a
l2 = b а результат один везде.
0
2741 / 2340 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
18.10.2016, 11:01 6
Цитата Сообщение от __py__ Посмотреть сообщение
Но также равны?
В каком месте они равны?
0
in code we trust
133 / 162 / 12
Регистрация: 29.02.2016
Сообщений: 885
18.10.2016, 11:04  [ТС] 7
Цитата Сообщение от alex925 Посмотреть сообщение
В каком месте они равны?
в этом блоке ведь происходит всё или нет? elif l1 == l2:
print("Равны? Почему так?")
0
2741 / 2340 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
18.10.2016, 11:11 8
Лучший ответ Сообщение было отмечено __py__ как решение

Решение

Без комментариев
Миниатюры
Почему разные переменные разных функций lambda равны?  
0
in code we trust
133 / 162 / 12
Регистрация: 29.02.2016
Сообщений: 885
18.10.2016, 11:49  [ТС] 9
оказывается print в lambda было лишнее.
0
440 / 432 / 159
Регистрация: 21.05.2016
Сообщений: 1,338
18.10.2016, 11:52 10
Цитата Сообщение от __py__ Посмотреть сообщение
оказывается print в lambda было лишнее.
Yep. Об этом в первом же ответе было написано
0
in code we trust
133 / 162 / 12
Регистрация: 29.02.2016
Сообщений: 885
18.10.2016, 12:23  [ТС] 11
Цитата Сообщение от oldnewyear Посмотреть сообщение
Yep. Об этом в первом же ответе было написано
ОК - невнимательный я. Буду работать над собой.

Добавлено через 4 минуты
А вот кто знает как сократить можно lambda выражение? random.choice(a) - ведь если строка будет сотни тысяч строк я никогда не закончу код.
0
2741 / 2340 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
18.10.2016, 12:24 12
__py__, Банально генератор списка и все
1
18.10.2016, 12:24
BasicMan
Эксперт
19315 / 2622 / 84
Регистрация: 17.02.2009
Сообщений: 10,364
Блог
18.10.2016, 12:24
Помогаю со студенческими работами здесь

Не могу понять почему в разных браузерах Python+Selenium даёт разные ошибки?
Работа с Хромом: from selenium import webdriver from selenium.common.exceptions import...

Почему файловые переменные передают внутрь процедур и функций только по ссылке?
И не как иначе.

Работа с дисками. Как сделать чтобы разные диски записывались в разные переменные, а не в один root?
Есть код, он записывает названия всех съемных носителей в root и выводит его. Если в root - 2...

время жизни lambda-функций
Задумался тут над вопросом: а какое, собственно время жизни у лямбда функций? набросал пример...

2 разные домена 2 разные DHCP в разных подсетях
Добрый день дорогие форумчани!!!!! Я пищу вам из далёкого Туркменистана 1) У нас имеется...

В магазине есть 5 разных чашек, 3 разных блюдца и 4 разные ложки
В магазине есть 5 разных чашек, 3 разных блюдца и 4 разные ложки. Сколько способов составить...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Блоги программистов
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного суматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(аси­­хронный счётчик с управляющим сигналом задержки).
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
Применение компонентов PrimeVue в Vue.js 3 на TypeScript
BasicMan 04.01.2025
Введение в PrimeVue и настройка окружения PrimeVue представляет собой мощную библиотеку компонентов пользовательского интерфейса для Vue. js 3, которая предоставляет разработчикам богатый набор. . .
Как стать Senior developer
cpp_developer 04.01.2025
В современной индустрии разработки программного обеспечения позиция Senior Developer представляет собой не просто следующую ступень карьерной лестницы, а качественно новый уровень профессионального. . .
Что известно о дате выхода Windows 12 и чего от нее ждать
IT_Exp 04.01.2025
В мире технологий постоянно происходят изменения, и операционные системы не являются исключением. Windows 11, выпущенная в октябре 2021 года, принесла множество инноваций и улучшений, но. . .
Что новенького в .NET Core 9
Programming 04.01.2025
Обзор ключевых изменений в . NET Core 9 Платформа . NET Core продолжает активно развиваться, и версия 9 представляет собой значительный шаг вперед в эволюции этой технологии. Новый релиз. . .
Инструкция по установке python3.13.1 в Debian 12
AlexSky-coder 03.01.2025
sudo apt update sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget. . .
Затестил триггеры. архив проекта прилагаю с GOA файлами в настройках архиватора проектов.
Hrethgir 03.01.2025
В этот раз нет закольцованности, потому что от неё только глюки, как я понял, логика не вырезанная. Триггеры очень быстрые если верить измерениям с помощью анализатора от Gowin. Есть ещё регистры,. . .
Python в помощь DevOps
IT_Exp 03.01.2025
Причины использования Python в работе DevOps Python стал неотъемлемой частью мира DevOps, и это не случайно. Этот язык программирования обладает множеством преимуществ, которые делают его. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru