Форум сайта python.su
Короче начал изучать книгу “Марк Саммерфилд - Программирование на Python 3. Подробное руководство”. В этой книжке есть пример. Немогу понять как внести число чтобы оно “распечаталось по большому” где его задать или ввести. Вот код:
import sys
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("usage: bigdigits.py <number>")
except ValueError as err:
print(err, "in", digits)
Офлайн
В командной строке.
Офлайн
В виде параметра при запуске скрипта из командной строки.
Офлайн
А по другому никак? может типа input? А то у меня командная строка что-то неправильно работает. Захожу в нее а там уже прописанпуть в папку мои документы и ничё не поделаешь.
Отредактировано (Март 28, 2010 11:34:30)
Офлайн
Dmitriy00782Вот и перепишите так, как вам надо. Число для вывода должно оказаться в переменной digits. Если будете переделывать под input, то обработку исключений можно будет убрать.
Короче начал изучать книгу “Марк Саммерфилд - Программирование на Python 3. Подробное руководство”.
Офлайн
Dmitriy00782:D
А то у меня командная строка что-то неправильно работает. Захожу в нее а там уже прописанпуть в папку мои документы и ничё не поделаешь.
Офлайн
Спасибо большое всё работает.
Офлайн
Всем привет!
Уважаемые форумчане помогите мне разобраться. Каким образом ввод целых цисел через модуль sys.argv отождествляется со строками:
Zero=…
One=…
Two=…
и т.д
Ведь в командной строке вводится integer ( т.е 0, 1, 2) а не названия строк Zero, One, Two …
Иначе говоря откуда программа знает что 0 это Zero, 1 это One, и т.д.
Отредактировано (Фев. 16, 2011 14:48:01)
Офлайн
Digits = [Zero, One, Two, Three, Four, Five, Six, Seven, Eight, Nine]
Офлайн
Спасибо, теперь стало ясно.
Только почему “массива” а не “списка списков”?
Отредактировано (Фев. 17, 2011 13:51:54)
Офлайн