Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 17.07.2021
Сообщений: 26
1

Ошибка в лямбда-выражении

22.08.2021, 19:51. Показов 3085. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Через lambda нужно вычислить площадь круга.
При таком решении:
Python
1
2
3
4
5
6
import math
 
pi = math.pi
r = input('Введите радиус круга ')
s = lambda r,pi:pi*r**2
print(s)
Выдает ошибку:
Python
1
2
Введите радиус круга 4
<function <lambda> at 0x7f2263bada70>
Помогите найти ошибку, плиз!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.08.2021, 19:51
Ответы с готовыми решениями:

Ошибка в лямбда выражении
Не понимаю в чем ошибка, помогите пожалуйста. Задача реализовать функцию find или другую функцию...

Использование параметров в лямбда-выражении
Здравствуйте! Начал изучать C#, подошел к теме делегатов-событий и анонимных методов. Приметил один...

Найти причины возникновения ошибки "Segmentation fault" в шаблонном лямбда-выражении (C++11)
Добрый день. Есть такой код:template&lt;typename ChipSelect, typename T = uint8_t&gt; static T...

Лямбда-выражения. Как описать лямбда-процедуру и передать в нее файловую переменную?
Погуглив не смогла найти ответов на свои вопросы. Есть следующая процедура, которая находит...

11
3580 / 2180 / 571
Регистрация: 02.09.2015
Сообщений: 5,509
22.08.2021, 20:21 2
Цитата Сообщение от SebPereira Посмотреть сообщение
print(s)
print(s(r, pi))
1
Автоматизируй это!
Эксперт Python
7204 / 4699 / 1223
Регистрация: 30.03.2015
Сообщений: 13,398
Записей в блоге: 29
22.08.2021, 20:23 3
Цитата Сообщение от SebPereira Посмотреть сообщение
Выдает ошибку:
это не ошибка, ты распечатал лямбду, а надо ее вызвать. Выше тебе уже показали как
1
0 / 0 / 0
Регистрация: 17.07.2021
Сообщений: 26
22.08.2021, 20:33  [ТС] 4
Arsegg, Welemir1, спасибо!!!
0
Эксперт Python
8776 / 4431 / 1858
Регистрация: 27.03.2020
Сообщений: 7,267
22.08.2021, 20:35 5
Лучший ответ Сообщение было отмечено SebPereira как решение

Решение

SebPereira, r - не строковая переменная; и лучше не импортировать всю math
Например, можно так
Python
1
2
3
4
5
from math import pi
 
r = float(input('Введите радиус круга '))
s = lambda r:pi*r*r
print(s(r))
1
0 / 0 / 0
Регистрация: 17.07.2021
Сообщений: 26
22.08.2021, 20:43  [ТС] 6
Arsegg, Welemir1, спасибо!
Исправил:
Python
1
2
3
4
5
6
import math
 
pi = math.pi
r = input('Введите радиус круга ')
s = lambda r,pi:pi*r**2
print(s(r,pi))
Но теперь другая ошибка:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Введите радиус круга 4
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-45-dd72c506e296> in <module>()
      4 r = input('Введите радиус круга ')
      5 s = lambda r,pi:pi*r**2
----> 6 print(s(r,pi))
 
<ipython-input-45-dd72c506e296> in <lambda>(r, pi)
      3 pi = float(math.pi)
      4 r = input('Введите радиус круга ')
----> 5 s = lambda r,pi:pi*r**2
      6 print(s(r,pi))
 
TypeError: unsupported operand type(s) for ** or pow(): 'str' and 'int'
Добавлено через 3 минуты
Gdez, спасибо, но тоже выдает ошибку.
Код:
Python
1
2
3
4
5
6
from math import pi
 
pi = math.pi
r = input('Введите радиус круга ')
s = lambda r:pi*r*r
print(s(r))
Ошибка:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Введите радиус круга 5
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-48-00ca6e8c7652> in <module>()
      4 r = input('Введите радиус круга ')
      5 s = lambda r:pi*r*r
----> 6 print(s(r))
 
<ipython-input-48-00ca6e8c7652> in <lambda>(r)
      3 pi = math.pi
      4 r = input('Введите радиус круга ')
----> 5 s = lambda r:pi*r*r
      6 print(s(r))
 
TypeError: can't multiply sequence by non-int of type 'float'
0
Автоматизируй это!
Эксперт Python
7204 / 4699 / 1223
Регистрация: 30.03.2015
Сообщений: 13,398
Записей в блоге: 29
22.08.2021, 20:46 7
Цитата Сообщение от SebPereira Посмотреть сообщение
r = input('Введите радиус круга ')
приведи к инту, это же строка
0
Эксперт Python
8776 / 4431 / 1858
Регистрация: 27.03.2020
Сообщений: 7,267
22.08.2021, 20:46 8
SebPereira, SebPereira, а прочитать все строчки кода?
1
0 / 0 / 0
Регистрация: 17.07.2021
Сообщений: 26
22.08.2021, 20:49  [ТС] 9
Gdez, спасибо, затупил на простейшем!)))
0
5422 / 2775 / 561
Регистрация: 07.11.2019
Сообщений: 4,544
22.08.2021, 21:11 10
Цитата Сообщение от Welemir1 Посмотреть сообщение
приведи к инту, это же строка
еще лучше к флоату..
3
Автоматизируй это!
Эксперт Python
7204 / 4699 / 1223
Регистрация: 30.03.2015
Сообщений: 13,398
Записей в блоге: 29
23.08.2021, 07:37 11
u235, согласен, это я сгоряча)
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
37330 / 20762 / 4275
Регистрация: 12.02.2012
Сообщений: 34,168
Записей в блоге: 14
25.08.2021, 08:55 12
Python
1
2
from math import pi
print("s=",(lambda r: pi*r**2)(float(input("r="))))
0
25.08.2021, 08:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.08.2021, 08:55
Помогаю со студенческими работами здесь

Ошибка 3075, ошибка синтаксиса в выражении запроса
Private Sub GetButton_Click() Dim sqlQuery As String Dim students() As String Dim...

Какая антенна лучше 1/4 лямбда или 1/2 лямбда?
какая антенна лучше 1/4лямбда или 1/2лямбда?и желательно с обьяснением почему лучше? и плюс такой...

Ошибка с лямбда выражением
Здравствуйте, не могу решить проблему, буду очень признателен если вы поможете. Собственно...

ошибка в поиске лямбда
необходимо найти коэфициент лямбда но где-то есть ошибка ибо при попытки найти функцию...

Замена коэффициентов в выражении при изменении колличества слагаемых в выражении
Необходимо для различных параметров n из того что изображено на первом изображении получить то что...

Ошибка в выражении
Задача вывести номер счета для клиента чья отгрузка выполнена в датах после 01.01.2021, если...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru