我想从一个范围生成一个随机数(比如1到3)但是从变量X中的那个范围特定数字中排除
所以我得到了这段代码
get-random -inputobject (1..4) | where {$_ -notin $X}
这确实产生1到3之间的随机数,但是当生成数等于X中的数字时,它什么都不返回。
如果发生这种情况,我怎么能强迫它再次运行所以我总是得到一个数字,不管尝试多少次?
答案 0 :(得分:5)
一种选择是在调用Get-Random
之前删除要排除的项目:
$InputRange = 1..10
$Exclude = 3,4,5
$RandomRange = $InputRange | Where-Object { $Exclude -notcontains $_ }
Get-Random -InputObject $RandomRange