我已经用谷歌搜索了很多,但似乎找不到有关这个问题的任何信息,或者也许因为我是菜鸟,所以我没有搜索正确的关键字。我确实发现了一个问题,但它在 lambda 函数中使用了 f 字符串,这与我需要的完全相反。
所以我有一个名为的计数器标志tc,它检查两个数字的总和是否超过某个预定义的常数。计数器标志工作正常并且获取1或0正确。我不能做的是程序的下一部分。
我想直接检查条件并以 f 字符串返回它。
到目前为止我已经能够做到这一点。
timE = f"({(lambda x: x = 'next' if tc==1 else x = 'same')} day)"
print(timE)
Run Code Online (Sandbox Code Playgroud)
我得到的是
File "<fstring>", line 1
((lambda x: x = 'next' if tc==1 else x = 'same'))
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
我需要的是 if tcis 1 那么 lambda 函数应该返回nextelse same。然后我需要的最终结果是(next day)or (same day)。
我确实尝试了其他一些事情,它不会给我错误,但会给我其他东西。
timE = f"({(lambda : 'next' if tc==1 else 'same')} day)" …Run Code Online (Sandbox Code Playgroud)