Diskuze: Pomoc -- Vysvětlení kódu
Zobrazeno 4 zpráv z 4.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Zero = [" *** ",
" * * ",
"* *",
"* *",
"* *",
" * * ",
" *** "]
One = [" * ", "** ", " * ", " * ", " * ", " * ", "***"]
Two = [" *** ", "* *", "* * ", " * ", " * ", "* ", "*****"]
Three = [" *** ", "* *", " *", " ** ", " *", "* *", " *** "]
Four = [" * ", " ** ", " * * ", "* * ", "******", " * ",
" * "]
Five = ["*****", "* ", "* ", " *** ", " *", "* *", " *** "]
Six = [" *** ", "* ", "* ", "**** ", "* *", "* *", " *** "]
Seven = ["*****", " *", " * ", " * ", " * ", "* ", "* "]
Eight = [" *** ", "* *", "* *", " *** ", "* *", "* *", " *** "]
Nine = [" ****", "* *", "* *", " ****", " *", " *", " *"]
Digits = [Zero, One, Two, Three, Four, Five, Six, Seven, Eight, Nine]
try:
digits = sys.argv[1]
row = 0
while row < 7:
line = ""
column = 0
while column < len(digits):
number = int(digits[column])
digit = Digits[number]
line += digit[row] + " "
column += 1
print(line)
row += 1
except IndexError:
print("použití: bigdigits.py <číslo>")
except ValueError as err:
print(err, "v", digits)
Ahoj,
knihu nemám, ale z kódu je partné, že jde o převod Tebou zadaných
čísel na jejich grafické zobrazení pomocí hvězdiček a mezer.
Každé číslo má definovanou grafiku, uloženou v seznamech Zero,
One,....., které jsou uloženy do seznamu Digits.
Tebou zapsané číslo (argument při spouštění skriptu) se uloží do
proměnné digits.
Cyklus
while column < len(digits):
je určen délkou argumentu, tj. počtu číslic tebou zadaného čísla. V
něm se zadaný argument (proměnná digits, která je pythonem
uložena jako String) převeden na int => proměnná number. Ta pak
slouží pro výběr ekvivalentní položky ze seznamu Digits (číslo
0 = Zero, 1 = One,...) => proměnná digit.
Grafika každého čísla je daná sedmi položkami (řádky), které je
potřeba projít a vykreslit (
while row < 7:
), v něm se vždy vypíše grafika řádku daného čísla print(line).
Když zadáš do argumentu jednu číslici (např. 0), projdou cykly pouze
seznam Zero a do každého řádku se vypíše jedna položka tohoto
seznamu.
Když zadáš dvě číslice (např. číslo 12), začnou se do prvního řádku
vypisovat první položky položky ze seznamů One a Two, do
druhého řádku druhé položky z těchto seznamů,.... až do konce (tj.
sedmých položek).
Doufám, že je Ti to jasnější a že jsem Ti nezamotal hlavu ještě
více.
Možná napiš, co konkrétně Ti na kódu není jasné.
Zobrazeno 4 zpráv z 4.