Форматирование списка

Обычно при написании перечислений и списков мы разделяем их элементы запятыми, а перед последним ставим союз «и», как показано ниже:

яблоки

яблоки и апельсины

яблоки, апельсины и бананы

яблоки, апельсины, бананы и лимоны

Напишите функцию, которая будет принимать на вход список из строк и возвращать собранную строку из его элементов в описанной выше манере. Хотя в представленном примере количество элементов списка ограничивается четырьмя, ваша функция должна уметь обрабатывать списки любой длины. В основной программе запросите у пользователя несколько элементов списка, отформатируйте их должным образом при помощи функции и выведите на экран.

def formatList(items):
    if len(items) == 0:
        return "пусто"
    if len(items) == 1:
        return str(items[0])
    result = ""
    for i in range(0, len(items) - 2):
        result = result + str(items[i]) + ", "
    result = result + str(items[len(items) - 2]) + " и "
    result = result + str(items[len(items) - 1])
    return result


def main():
    items = []
    line = input("Введите слово (Enter для окончания ввода): ")
    while line != "":
        items.append(line)
        line = input("Введите слово (Enter для окончания ввода): ")
    print("Введенные элементы: s." % formatList(items))

main()
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: