2016-06-28 32 views
-4

我正在用Python 3編寫一個程序,我有一個函數可以列出列表中的所有項目,並且還接收,驗證並返回用戶輸入。列表打印機功能的靈活性

def printer(my_list): 
    for item in range(len(my_list)): 
    print("{}. {}",format(item + 1, my_list[item])) 

這是一個簡化版本,它打印出每個列表項和標籤他們的數字1,2,3等,我想爲我的函數調用label布爾參數,如果這是False,則打印機不會打印每個項目1. List item 1, 2. List Item 2等,而是List item 1, List item 2等,而如果它是True它將打印每個項目與標記索引。

+1

OK,所以只是*做*。你有什麼問題? – jonrsharpe

+0

我不知道如何改變項目格式化的參數。即從打印(「{}。{}」,格式(item + 1,my_list [item]))打印(「{}」格式(my_list [item])) –

+1

添加參數,傳入「bool」 ,在'if'分支中使用它?你究竟在哪裏卡住? – jonrsharpe

回答

-1

這是你在找什麼?

def printer(my_list, label=True): 
#check if label is True 
    if label: 
     for number,item in enumerate(my_list): 
      print number+1, item #print labeled index (+1 to begin with 1) & item 
    else: 
     for item in my_list: 
      print item #print items only 

例子:

>>> mylist = ["monkey","donkey","dog"] 
>>> printer(mylist) 
1 monkey 
2 donkey 
3 dog 

>>> printer(mylist, label=False) 
monkey 
donkey 
dog