inputs_param
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| inputs_param [2017/07/05 10:30] – gg | inputs_param [2017/07/05 11:03] (current) – gg | ||
|---|---|---|---|
| Line 373: | Line 373: | ||
| <code bash> | <code bash> | ||
| perl input.pl Werner 30 | perl input.pl Werner 30 | ||
| + | </ | ||
| + | |||
| + | ==== PHP ==== | ||
| + | === Code === | ||
| + | <code php> | ||
| + | <?php | ||
| + | |||
| + | function checkName($name) { | ||
| + | // Die Länge des Namens prüfen | ||
| + | if(strlen($name) == 0) { | ||
| + | return false; | ||
| + | } | ||
| + | |||
| + | // prüfen, ob der erste Buchstabe eine Grossbuchstabe ist | ||
| + | if($name[0] < ' | ||
| + | return false; | ||
| + | } | ||
| + | // Sind alle anderen Buchstaben Kleinbuchstaben? | ||
| + | for($i = 1; $i < strlen($name); | ||
| + | if($name[$i] < ' | ||
| + | return false; | ||
| + | } | ||
| + | } | ||
| + | |||
| + | // Alle Bedingungen sind erfüllt | ||
| + | return true; | ||
| + | } | ||
| + | |||
| + | function checkAge($age) { | ||
| + | // Die Länge des Alters prüfen | ||
| + | if(strlen($age) == 0 || strlen($age) > 2) { | ||
| + | return false; | ||
| + | } | ||
| + | |||
| + | // prüfen, ob das Alter mit 1-9 beginnt | ||
| + | if($age[0] < ' | ||
| + | return false; | ||
| + | } | ||
| + | // prüfen, ob die zweite Zahl (falls vorhanden) zwischen 0 und 9 ist | ||
| + | if(strlen($age) == 2) { | ||
| + | if($age[1] < ' | ||
| + | return false; | ||
| + | } | ||
| + | } | ||
| + | |||
| + | // Alle Bedingungen sind erfüllt | ||
| + | return true; | ||
| + | } | ||
| + | |||
| + | // prüfen, ob die Anzahl der Parameter stimmt | ||
| + | if(sizeof($argv) != 3) { | ||
| + | echo " | ||
| + | exit; | ||
| + | } | ||
| + | |||
| + | // sprechendere Namen verwenden | ||
| + | $name = $argv[1]; | ||
| + | $age = $argv[2]; | ||
| + | |||
| + | // die beiden Variablen prüfen | ||
| + | if(!checkName($name)) { | ||
| + | echo "Der Name muss mit einem Grossbuchstaben beginnen und darf sonst nur Buchstaben enthalten\n"; | ||
| + | exit; | ||
| + | } | ||
| + | if(!checkAge($age)) { | ||
| + | echo "Das Alter muss mit 1-9 beginnen, darf nur Zahlen enthalten und maximal 99 sein\n"; | ||
| + | exit; | ||
| + | } | ||
| + | |||
| + | echo "Dein Name ist $name und du bist $age Jahre alt\n"; | ||
| + | </ | ||
| + | |||
| + | === Ausführen === | ||
| + | Die Datei input.php mit obigen Code befüllen und auf folgendem Weg ausführen. | ||
| + | <code bash> | ||
| + | php input.php Werner 30 | ||
| </ | </ | ||
| ==== Python ==== | ==== Python ==== | ||
| + | Python bietet mit **OptParse** oder **ArgParse** ziemlich gute Module für Programmparameter an. Hier soll aber gezeigt werden, wie es mit Bordmitteln funktioniert. | ||
| === Code === | === Code === | ||
| <code python> | <code python> | ||
| Line 444: | Line 521: | ||
| </ | </ | ||
| + | ===== Übungen ===== | ||
| + | * Lese eine ganze Zahl als Programmparameter ein und berechne die Fakultät dieser Zahl | ||
| + | * Erweitere die obigen Beispiele um einen weiteren Parameter. Lese zusätzlich das Geburtsdatum ein (inklusive Prüfungen!) und gib es aus | ||
| + | * Baue einen kleinen Taschenrechner, | ||
| + | * Erweitere den Taschenrechner um die Multiplikation und Division | ||
inputs_param.1499243442.txt.gz · Last modified: 2017/07/05 10:30 by gg
