Tyto stránky již nejsou udržovány. Obsah je postupně přesouván/aktualizován na adrese chytrosti.marrek.cz.
1575/14218
1 #!/usr/bin/python
2 # -*- coding: utf8 -*-
3 # Soubor: 20111129-Tue-vstup-a-vyjimky.py
4 # Datum: 29.11.2011 08:21
5 # Autor: Marek Nožka, nozka <@t> spseol <d.t> cz
6 # Licence: GNU/GPL
7 # Úloha: Ukázka ošetření vstupů
8
9 # http://www.sallyx.org/sally/python/python9.php
10 # http://www.py.cz/Cestina2X
11
12 while True:
13 try:
14 #cislo = input("zadej číslo: ")
15 retezec = raw_input(u"zadej číslo: ")
16 cislo = int(retezec)
17 except:
18 print u"Musíš zadat celé číslo"
19 else:
20 print u"Děkuji ti"
21 break
22
23 print ">>>>",cislo*cislo
24
25 # předchozí kód si zabalím do podprogramu:
26
27 def readInt(prompt='Zadej číslo: ', errorMsg="Chyba: zadej číslo"):
28 # funkci předávám zprávu pro uživatele a chybové hlášení
29 # funkce vrací integer, který zadal uživatel
30 while True:
31 try:
32 return int(raw_input(prompt))
33 except:
34 print errorMsg
35 else:
36 break
37
38 cislo = readInt("Chci číšlo: ","máš to špatně")
39 cislo = readInt("Zadej mi číslo: ")
40 cislo = readInt(errorMsg="CHYBA",prompt='Celé číslo: ')
41 cislo = readInt(errorMsg="CHYBA")
42
43 print ">>>>",cislo*cislo
44
45
46 # parametry příkazové řádky
47 import sys
48
49 print sys.argv
50
51 privni_parametr = sys.argv[1] # je to vzdy retezec
52 druhy_parametr = sys.argv[2] # je to vzdy retezec
53 pocet_parametru = len(sys.argv)