開発環境
- OS X Mavericks - Apple(OS)
- Emacs (CUI)、BBEdit - Bare Bones Software, Inc. (GUI) (Text Editor)
- Python (プログラミング言語)
Head First Python (Paul Barry(著)、 O'Reilly Media; )のChapter 2(Sharing your Code: Modules of functions)、EXERCISE(p.55)を解いてみる。
EXERCISE(p.55)
コード(BBEdit)
sample55.py
#!/usr/bin/env python3 #-*- coding: utf-8 -*- """ This is the 'nester.py' module and it provides one function called print_lol() which prints lists that may or may not include nexted lists. """ def print_lol(the_list, indent=0): """ This function takes a positional argument called 'the_list', which is any Python list (of ~ possibly _ nested lists). Each data item in the provided list is (recursively) printed to the screen on it's own line. And takes a second argument (optional, default is 0) called 'indent', which is number(int). Any nested lists is indented this number of tab stops. """ for each_item in the_list: if isinstance(each_item, list): print_lol(each_item) else: for x in range(indent): print('\t', end='') print(each_item) # おかしな出力結果になる。
te.py
#!/usr/bin/env python3 #-*- coding: utf-8 -*- import sample55 l = ['a', 'b', ['c', ['e', 'f']], [[['g', 'h', [['i', 'j', ['k', 'l']]]]]], 'm', 'n'] sample55.print_lol(l) print('*' * 30) sample55.print_lol(l, 1) print('*' * 30) sample55.print_lol(l, 2)
入出力結果(Terminal)
$ ./test_sample55.py a b c e f g h i j k l m n ****************************** a b c e f g h i j k l m n ****************************** a b c e f g h i j k l m n $
0 コメント:
コメントを投稿