我有一些看起来像这样的代码:
if condition A
if condition A.1
# do something
elsif condition A.2
# do something_else
else
# (want to jump out condition A)
end
# (do something after either A.1 or A.2)
end
如果A.1
和A.2
都不为真,我想跳出双重if块;否则它将尝试在内部if
块之后执行代码,这将导致错误。我尝试了next
和break
,但都没有效果。我该怎么办?
答案 0 :(得分:0)
最好的方法是将这些行推送到新方法中,然后return
。问题解决了,使用更短的方法。
答案 1 :(得分:0)
使用2 x (0.2558 + 0.2558³/3 + 0.2558^5/5) = 0.5232
lg 27 ~ 4 + 0.5232 / ln 2 = 4.7548
,catch
构造如下:
throw
答案 2 :(得分:0)
只需改变你的if结构:
d1 = dict(tuple(df.groupby(3)))
print (d1[39])
0 1 2 3 4
0 00B2 0 -67 39 1.13
1 00B2 85 -72 39 1.13
5 00B2 91 -67 39 1.13
26 00B2 21 -71 39 1.13
27 00B2 22 -71 39 1.13
29 00B2 24 -71 39 1.13
由于性能原因,这可能是不可能的,但在大多数情况下都应该有效。或者,您可以将 if condition A
if condition A.1
do something
elsif condition A.2
do something_else
end
if A.1 || A.2
(do something after either A.1 or A.2)
end
end
移动到单独的函数,并从两种情况中调用它。
答案 3 :(得分:0)
最佳解决方案是切换案例
答案 4 :(得分:0)
我觉得有一种更简洁的方法可以做到这一点,改变条件更像红宝石:
if condition_a && (condition_a_1 || condition_a_2)
do_something if condition_a_1
do_something_else if condition a_2
do_something_after_a_1_or_a_2
end
然后有do_somethings的函数