使用Lambda函数实现用户输入数字平方的代码故障排查
问题分析与修复方案
你的代码存在三个关键问题:
- Lambda函数未调用:你定义了lambda函数
y = lambda x: x**2,但直接print(y)只会输出lambda对象的内存地址,不会执行平方计算,必须传入参数调用它,比如y(x)。 - 参数命名冗余混淆:lambda的参数
x和外部通过input获取的变量x重名,虽然语法合法,但会降低代码可读性,建议避免。 - 主函数未执行:你定义了
my()函数,但没有调用它,运行代码时不会触发输入和计算逻辑。
修复后的代码
def my(): num = int(input('Please enter a number: ')) square = lambda x: x**2 print(square(num)) # 调用函数执行逻辑 my()
也可以用更简洁的写法,无需单独定义lambda变量:
def my(): num = int(input('Please enter a number: ')) print((lambda x: x**2)(num)) my()
内容的提问来源于stack exchange,提问作者ana
相关产品推荐
相关产品推荐

