Как убрать скобки при выводе, где только одно число?

Рейтинг: 0Ответов: 1Опубликовано: 20.06.2023
favourite_numbers = {
    'mom': [12, 7, 53, 275, 2, 29, 15],
    'dad': [77, 33, 65, 50],
    'granny': [22],
    'anastasia': [44],
    }
for name, values in favourite_numbers.items():
    if len(values) == 1:
        values = str(values)
        print(f"{name.title()}'s favourite number is {''.join(values)}")
    else:
        print(f"{name.title()}'s favourite numbers are:")
        for number in values:
            print(number)

Вывод: ... Granny's favourite number is [22] Anastasia's favourite number is [44]

Ответы

▲ 1Принят

Выводить можно всё одинаково, а изменить только текст:

for name, values in favourite_numbers.items():
    if len(values) == 1:
        print(f"{name.title()}'s favourite number is: ")
    else:
        print(f"{name.title()}'s favourite numbers are: ")
    for number in values:
        print(number)

Или даже так

for name, values in favourite_numbers.items():
    if len(values) == 1:
        print(f"{name.title()}'s favourite number is: ")
    else:
        print(f"{name.title()}'s favourite numbers are: ")
    print(*values) # "распаковывает" список, т.е. выводит каждый элемент