python - 我在这里做错了什么?我是 python 新手
问题描述
按照上面指定的细节完成功能标志的主体(下面有签名)。
def sign(t): "Returns +1 for t>=0, -1 otherwise"
解决方案:
def sign(t):
sign = lambda t: -1 if t < 0 else 1 if t >=0
上面显示了语法错误。我在这里做错了什么?它有点显示名称“符号”未定义
解决方案
似乎您只需要一个小功能。这是你要找的吗?
def sign(t):
if t < 0:
return -1
else:
return 1
此外,您的 lambda 有一件事是错误的。如果你把它当作一个普通函数来展开,它看起来像这样:
def sign(t):
if t < 0:
return -1
else:
return 1 if t >= 0
所以,只有两种情况。t 要么小于 0,要么大于或等于 0。因此,以下代码将起作用:
sign = lambda t: -1 if t < 0 else 1
print(sign(2)) # will return 1
推荐阅读
- php - 如何从 HTML 字符串中获取特殊字符列表
- python - 操作具有很长字符串的列表时出现运行时错误 (Python3)
- ruby-on-rails - 为什么 Rails Postgresql 不允许我启动我的 rails 应用程序?
- javascript - 如何在 Javascript 中添加自定义复制警报?
- three.js - 无法让 Three.js InstancedBufferGeometry 出现在场景中
- javascript - 如何在 HTML 中访问 Angular 的表单数组?
- javascript - 从 SVG 创建文本
的 - docker - Docker 和 Airflow - 初始化容器时出错
- python-3.x - 从响应字典中获取键
- c# - 如何在运行时获取数字基元数据类型的字节大小、MinValue、MaxValue