Warum machen die ganzen zahlen in der PowerShell zu vergleichen, durch Ziffern?

Mein code, der Ihnen sagt, ob Ihre Ahnen Zahl höher oder niedriger ist als eine zufällig generierte Nummer, aber es scheint, vergleichen Sie nur die ersten Ziffern der Nummer, wenn einer von Ihnen ist unter 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)

Zum Beispiel, wenn die $GeneratedNum = 56 und $Input = 7 es gibt "Too High"

Der gelesene Wert von Read-Host ist ein string, kein integer. Eine variable Markierung ist nicht eine Besetzung, wie es scheint. Verwenden Sie einen Zauber auf der rechten Seite der Zuordnung, und es scheint, um korrekt zu arbeiten.
Danke!!! Das funktionierte perfekt

InformationsquelleAutor nick | 2015-06-30

Schreibe einen Kommentar