2016-03-24 9 views
0

Таким образом, практический проект выглядит следующим образом: Скажите, что у вас есть значение списка следующим образом: spam = ['apples', 'bananas', 'tofu', 'cats'] Write функция, которая принимает значение в качестве аргумента и возвращает строку со всеми элементами, разделенными запятой и пробелом, с и вставлена ​​перед последним элементом. Например, передача предыдущего списка спама функции вернет «яблоки, бананы, тофу и кошки». Но ваша функция должна иметь возможность работать с любым переданным ей значением списка.ATBSWP Глава 4 Практический проект: Comma Code

До сих пор я придумал это:

spam = ['apples', 'bananas', 'tofu', 'cats'] 

def commacode(a_list): 
    a_list.insert(-1, 'and') 
    print(a_list) 

commacode(spam) 

И, конечно, выход только список значений. Я попытался сделать строку 5 = print (str (a_list)), но это дает синтаксическую ошибку. Мое мышление заключается в том, что я должен изменить его на строку, но я потерян. Я что-то пропустил в этой главе? Мне казалось, что я несколько раз перебирал это. Я чувствую, что len (a_list) должен быть где-то там, но это просто даст мне значение 5. Любые мысли или то, как я должен думать об этом, будет большой помощью. Я всегда чувствую, что я действительно понимаю этот материал, а затем я попадаю в эти практические проекты и ВСЕГДА путаюсь, что делать. Я знаю, что практические проекты собираются использовать некоторую информацию, которую мы узнали в предыдущих главах, а затем сосредоточимся главным образом на главе, в которой мы находимся. В главе 4 описаны списки, значения списка, значения строк, кортежи, copy.copy() и copy.deepcopy(), чтобы назвать несколько.

Link - Chapter4

ответ

0

Попробуйте следующую функцию: commacode

monty = ['apples', 'bananas', 'tofu', 'cats', 'dogs', 'pigs'] 

def commacode(listname): 
    listname[len(listname) - 1] = 'and ' + listname[len(listname) - 1] 
    index = 0 
    new_string = listname[index] 
    while index < len(listname) - 1: 
     new_string = new_string + ', ' + listname[index + 1] 
     index = index + 1 
     if index == len(listname) - 1: 
      print(new_string) 

commacode(monty) 
Смежные вопросы