如何将此函数从 javascript 转换为 python?
How to convert this function from javascript to python?
有人知道如何将此 javascript 函数转换为 python 吗?
javascript:
function ding(t, a, e, n) {
return t > a && t <= e && (t += n % (e - a)) > e && (t = t - e + a), t
}
这是我的尝试:
def ding(t, a, e, n):
return t > a and t <= e and (t + n % (e - a)) > e and (t = (t - e + a)), t
return语法错误 (t = (t - e + a))
中的“=”,不知道如何解决这个问题。
当给它这些值时:ding(53, 47, 57, 97)
它应该在原始 javascript 函数中 return 50。
是否必须是 one-liner?为什么不把它分成几行:
def ding(t, a, e, n):
if t > a and t <= e:
t += n % (e - a)
if t > e:
t -= e - a
return t
print(ding(53, 47, 57, 97)) # 50
那是因为python不支持将赋值赋值作为赋值。 (t = (t - e + a))
导致 SyntaxError 而不是返回 (t - e + a)
.
原始代码上的&&运算符似乎是用来消除if运算符的使用。这应该与它在 JS 上的行为方式相同。
def ding(t, a, e, n):
if a < t <= e:
t += n % (e - a)
if t > e:
t -= (e - a)
return t
有人知道如何将此 javascript 函数转换为 python 吗?
javascript:
function ding(t, a, e, n) {
return t > a && t <= e && (t += n % (e - a)) > e && (t = t - e + a), t
}
这是我的尝试:
def ding(t, a, e, n):
return t > a and t <= e and (t + n % (e - a)) > e and (t = (t - e + a)), t
return语法错误 (t = (t - e + a))
中的“=”,不知道如何解决这个问题。
当给它这些值时:ding(53, 47, 57, 97)
它应该在原始 javascript 函数中 return 50。
是否必须是 one-liner?为什么不把它分成几行:
def ding(t, a, e, n):
if t > a and t <= e:
t += n % (e - a)
if t > e:
t -= e - a
return t
print(ding(53, 47, 57, 97)) # 50
那是因为python不支持将赋值赋值作为赋值。 (t = (t - e + a))
导致 SyntaxError 而不是返回 (t - e + a)
.
原始代码上的&&运算符似乎是用来消除if运算符的使用。这应该与它在 JS 上的行为方式相同。
def ding(t, a, e, n):
if a < t <= e:
t += n % (e - a)
if t > e:
t -= (e - a)
return t