powershell - 在powershell中从一个范围内生成一个随机数,但不包括1

标签 powershell random

我想从一个范围(比如说 1 到 3)中生成一个随机数,但从该范围中排除变量 X 中的特定数字

所以我得到了这个代码

get-random -inputobject (1..4) | where {$_ -notin $X}

这确实生成了一个介于 1 和 3 之间的随机数,但是当生成的数字等于 X 中的数字时,它什么也不返回。

当它发生时我如何强制它再次运行,所以我总是得到一个数字,不管它需要多少次尝试?

最佳答案

一种选择是在调用 Get-Random 之前删除要排除的项目:

$InputRange = 1..10
$Exclude = 3,4,5

$RandomRange = $InputRange | Where-Object { $Exclude -notcontains $_ }

Get-Random -InputObject $RandomRange

关于powershell - 在powershell中从一个范围内生成一个随机数,但不包括1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47432293/

相关文章:

java - 需要一个快速的 Java beta 分布随机数生成器

c++ - 宾果游戏板 : Generating unique values

java - 如何在 Java 中返回 5 个随机的 "Powerball"数字

c# - 检查数组中的多个元素是否包含相同的值

java - 无论种子如何,Random.nextBoolean() 总是返回 True

powershell - 来自导入模块的函数在 powershell 脚本中不可用

c - 如果从 C 程序执行,Powershell 脚本不起作用?

PowerShell 作业进度监控

powershell - 为什么Powershell的 "return"关键字会导致类型错误?

powershell - 从另一个powershell脚本调用一个powershell脚本并保证它是UTF8