Убрать запятую перед 'and'
К списку нужно добавить запятую после каждого элемента кроме последнего, перед ним нужно добавить 'and' что я сделал, но не могу додумать как убрать запятую перед 'and' чтобы было орфографически правильно оформлен вывод.
Мой вывод: 2 eggs, 1 liter sugar, 1 tsp salt, and vinegar
Должно быть: 2 eggs, 1 liter sugar, 1 tsp salt and vinegar
def format_ingredients(items):
items[-1] = 'and ' + items[-1]
return ', '.join(items[:])
list = ["2 eggs", "1 liter sugar", "1 tsp salt", "vinegar"]
print(format_ingredients(list))
Ответы (1 шт):
Пожалуйста, не называйте переменные зарезервированными именами (built-in) в Python, таким образом вы переопределяете стандартные объекты и это может вызвать необычное поведение. Список всех зарезервированных имён
По поводу вашей проблемы, можно решить "в лоб", как и написано у вас в условии, все элементы кроме последнего соединить запятой, а перед последним отдельно добавить "and":
list_ = ["2 eggs", "1 liter sugar", "1 tsp salt", "vinegar"]
print(', '.join(list_[:-1]) + ' and ' + list_[-1])
Вывод:
2 eggs, 1 liter sugar, 1 tsp salt and vinegar