Форум сайта python.su
0
Привет, питонисты!
Я новичок в питоне. Читаю Саммерфильда (Программирование на Python 3. Подробное руководство.)
В первой главе есть такой пример - bigdigits.py, но так как я узучаю по разным книжкам и забежал немножко вперед, то решил немного “улучшить” код. Вот что получилось.
Zero = [" *** ", " * * ", "* *", "* *", "* *", " * * ", " *** "] One = [" * ", "** ", " * ", " * ", " * ", " * ", "***"] Two = [" *** ", "* *", "* * ", " * ", " * ", "* ", "*****"] Three = [" *** ", "* *", " *", " ** ", " *", "* *", " *** "] Four = [" * ", " ** ", " * * ", "* * ", "******", " * ", " * "] Five = ["*****", "* ", "* ", " *** ", " *", "* *", " *** "] Six = [" *** ", "* ", "* ", "**** ", "* *", "* *", " *** "] Seven = ["*****", " *", " * ", " * ", " * ", "* ", "* "] Eight = [" *** ", "* *", "* *", " *** ", "* *", "* *", " *** "] Nine = [" ****", "* *", "* *", " ****", " *", " *", " *"] Digits = [Zero, One, Two, Three, Four, Five, Six, Seven, Eight, Nine] def int_any(in_strng): bases = (10, 2, 16, 8) for base in bases: try: out_int = int(in_strng, base) return out_int break except ValueError as err: if bases.index(base) < 3: continue else: print(str(err).replace('8', '10, 2, 16 or 8')) def print_big(integer): if integer is not None: number = str(integer) Lines = [Digits[int(smbl)] for smbl in number] printLines = zip(*Lines) for line in printLines: print(' '.join(line)) def main(): while True: try: print_big(int_any(input('Enter integer:'))) except EOFError: break main()
Офлайн
253
Zero = """ *** * * * * *** """[1:]
Отредактировано doza_and (Июнь 26, 2016 14:27:36)
Офлайн
0
А можете написать эту программу целиком именно как должно быть по книге?
Я просто пробую и не выходит…
Офлайн