Perl :: Aufgabe #24 :: Lösung #2
2 Lösungen
#24
Zahlen erraten lassen.
Anfänger - Perl
von zayc_
- 28.12.2012 um 14:08 Uhr
Programmiere ein Programm, welches eine vom User erdachte Zahl (Integer) in einem vom User angegebenen Bereich Erraten soll.
Konsolenausgabe:
Bitte Untergränze angeben: 0
Bitte Obergränze angeben: 100
Bitte geben sie nach jedem versuch R,G oder K an. je nachdem ob
R die Zahl richtig ist
G die gesuchte Zahl grösser ist
K die gesuchte Zahl kleiner ist
1. Versuch: 50.
k
2. Versuch: 25
g
3. Versuch: 37
g
4. versuch: 42
g
5. Versuch: 46
k
6. Versuch: 44
k
7. Versuch: 43
r
Die gesuchte Zahl war also die 43!
#2
von TooBieee (610 Punkte)
- 04.10.2017 um 08:08 Uhr
use strict;
use warnings;
use feature qw(say);
my ($min,$max,$zahl,$userInput);
my $count = 1;
my $treffer = 0;
say "Bitte Untergrenze angeben:";
chomp($min = <STDIN>);
if ($min !~ /\d+/) {
say "Bitte nur Zahlen. Untergrenze erneut eingeben:";
chomp($min = <STDIN>);
}
say "Bitte Obergrenze angeben:";
chomp($max = <STDIN>);
if ($max !~ /\d+/) {
say "Bitte nur Zahlen. \nObergrenze erneut eingeben:";
chomp($max = <STDIN>);
} elsif ($max <= $min) {
say "Obergrenze muss höher sein als Untergrenze. \nObergrenze erneut eingeben:";
chomp($max = <STDIN>);
}
say "Bitte geben sie nach jedem versuch R,G oder K an. je nachdem ob\n
R die Zahl richtig ist\n
G die gesuchte Zahl grösser ist\n
K die gesuchte Zahl kleiner ist";
while($treffer == 0) {
$zahl = int rand($max-$min) + $min;
say "$count. Versuch: $zahl";
chomp ($userInput = <STDIN>);
if ($userInput !~ /[rgk]/i) {
say "Bitte nur R , G oder K eingeben:";
chomp ($userInput = <STDIN>);
} elsif ($userInput =~ /g/i) {
$min = $zahl;
} elsif ($userInput =~ /k/i) {
$max = $zahl;
} elsif ($userInput =~ /[r]/i){
say "Die gesuchte Zahl war also die $zahl";
$treffer = 1;
}
$count++;
}
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1
