1 #!/usr/bin/env python3.5
2 # coding:utf-8
3 # 假定有一個列表,編寫函數以一個列表值作為參數,返回一個字條串
4 # 該字符串包含所有表項,之間以逗號和空格分隔,並在最后一個值前插入 and
5 # 要求函數能處理傳遞給它的任何列表
6
7 # spam = input('please input a list:')
8 # 剛開始想從用戶輸入進行傳遞列表方式,但沒成功
9
10 # 4.10.1
11 print("4.10.1 answer:") 12 def chlist_str(spam): 13 spam[-1] = 'and ' + spam[-1] 14 str_list = ', '.join(spam) 15 return str_list 16 new_str = chlist_str(['apple','banana','tofu','cats']) 17 print("convert str is:") 18 print(new_str) 19
20 # 4.10.2
21 # 這道題的目的在於進行嵌套列表的行列轉換吧
22 print("4.10.2 answer:") 23 grid = [['.','.','.','.','.','.'], 24 ['.','o','o','.','.','.'], 25 ['o','o','o','o','.','.'], 26 ['o','o','o','o','o','.'], 27 ['.','o','o','o','o','o'], 28 ['o','o','o','o','o','.'], 29 ['o','o','o','o','.','.'], 30 ['.','o','o','.','.','.'], 31 ['.','.','.','.','.','.']] 32
33 # 第一種實現方法,因為這個列表的行列長度不相等,外層循環的換行數應該是子列表的長度。
34 for row in range(0,len(grid[0])): 35 for col in range(0,len(grid)): 36 # print(''.join(grid[col][row]),end='')
37 print(grid[col][row],end='') 38 print() 39
40 # 第二種實現方法,
41 for row in zip(*grid): 42 for col in row: 43 # print(''.join(col),end='')
44 print(col,end='') 45 print()