1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
use v5.16.3; use strict; #Zahlenraten my $toguess = rand(99); #Zufallsvariable $toguess =~ s/^(.*?)\..*$/$1/ ; #runden auf 0 Nachkommestellen print "Bitte geben Sie eine ganze Zahl zwischen 0 und 99 ein \n"; my $zaehler = 1; my $variable; while ($toguess =! $variable) { my $variable = <STDIN>; if ($variable<0 || $variable != int($variable)) { print "Ungültige Eingabe" } if ($toguess == $variable){ print "Sie haben richtig geraten,der toguess-Wert war: $toguess"; print "Sie benötigten $zaehler Versuche."; } #end if if ($toguess > $variable) { print "Die gesuche Zahl ist größer! \n Bitte geben Sie eine neue Zahl ein"; $zaehler++; } # end if if ($toguess < $variable) { print "Die gesuche Zahl ist kleiner! \n Bitte geben Sie eine neue Zahl ein"; $zaehler++; } # end if } # end for
my $toguess
if ($variable<0 || $variable != int($variable)) {
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
use strict; use warnings; #Zahlenraten my $toguess = int rand(100); #Zufallsvariable; integer 0-99 my $zaehler = 1; my $variable = -1; # kein undef; klarer Wert verhindert Warnung print "Bitte geben Sie eine ganze Zahl zwischen 0 und 99 ein: "; while ($toguess != $variable) { # kein extra "my" hier; wir nutzen das von oberhalb der Schleife # damit wird hier die gesetzte -1 von oben überschrieben # Zeilenumbruch mit chomp() aus der Eingabe entfernen chomp( $variable = <STDIN> ); # Entweder die Eingabe war falsch if ( $variable < 0 || $variable != int($variable) ) { print "Ungültige Eingabe.\n"; } # ODER sie war genau richtig elsif ( $toguess == $variable ) { print "Sie haben richtig geraten, zu erraten war: $toguess\n", "Sie benötigten $zaehler Versuche.\n"; } # ODER sie war zu gross ODER zu klein else { # der einzige Unterschied dieser Ausgabe liegt in der Relation # also bestimme Relation und gebe dann den Text entsprechend aus my $relation = 'kleiner'; $relation = 'größer' if $toguess > $variable; print "Die gesuchte Zahl ist $relation.\n", "Bitte geben Sie eine neue Zahl ein: "; $zaehler++; } }