Thread Perl Variablen Problem
(6 answers)
Opened by Fabian at 2014-05-14 18:04
Ich habe mal den Code überarbeitet und noch ein paar Unsauberkeiten beseitigt und etwas vereinfacht. Bei Unklarheiten einfach nachfragen.
Im Detail: - Zufallswert mit int() zum Integer gemacht - $variable innerhalb der Schleife braucht kein eigenes my - print-Ausgaben überarbeitet; Ausgabe-Strings über zwei Zeilen entfernt; Umbrüche eingebaut. - größer/kleiner-Ausgabe zusammengelegt Code (perl): (dl
)
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++; } } edit: perlfunc chomp eingebaut. Last edited: 2014-05-15 17:58:02 +0200 (CEST) meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |