如何将foreach与if条件一起用于给定列表


set A {50 98 76 34 67}
set B {12 23 48 59 65}
foreach c $A d $B {
if { 40 <= $c && $c <= 60 && 20 <= $d && $d <= 30 } {
puts $c
puts $d
}
}

我没有从上面的代码中得到任何输出。上述代码所需的输出应为数字50 34 23。

您可以通过放置另一个if.来解决问题

set A {50 98 76 34 67}
set B {12 23 48 59 65}
foreach c $A d $B {
if {40 <= $c && $c <= 60} {
puts $c
} 
if {20 <= $d && $d <= 30} {
puts $d
}
}
# 50
# 23

如果您希望If或If出现在34上,请修改第一个条件以接受大于30而不是40的数字。

set A {50 98 76 34 67}
set B {12 23 48 59 65}
foreach c $A d $B {
if {30 <= $c && $c <= 60} {
puts $c
} 
if {20 <= $d && $d <= 30} {
puts $d
}
}
# 50
# 23
# 34

最新更新