我的代码告诉你你猜的数字是高于还是低于一个随机生成的数字,但当其中一个数字低于10时,它似乎只比较前几位数字。
[int]$GeneratedNum = Get-Random -min 1 -max 101
Write-Debug $GeneratedNum
$isQuitting = $false
Do{
[int]$Input = Read-Host "Take a guess!"
If($Input -lt $GeneratedNum){Write-Output "Too Low"}
If($Input -gt $GeneratedNum){Write-Output "Too High"}
If($Input -eq $GeneratedNum){Write-Output "Good Job!"; $isQuitting = $true}
} Until($isQuitting -eq $true)
例如,当$GeneratedNum = 56
且$Input = 7
时,它返回"Too High"
。
Read-Host
读取的值是字符串而不是整数。你的变量标记不是转换类型。在赋值语句右侧使用类型转换,似乎可以正确地工作。 - Etan Reisner