как сделать чтобы sep=", " чтобы не добавлял пробел, к первому символе
У меня тут задания и я хочу решить её, там дано число n, к примеру у меня число 10 и нужно написать все числа из десяти увеличеваешме порядке типа так: 10: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. И вот как сдлеать так чтобы после 10 и двое точие не ставилось запятая?
N = 10
A = [i for i in range(N)]
print(N,":", *A, sep=", ")
это мой код, и у меня выходитиь неправильно типа так:10, :, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
а должно как там сверху. Только напишите так чтобы новичок понял, пожалуйста?
Ответы (2 шт):
Вижу несколько вариантов, первый например
можно разделить printы на два
N = 10
A = [i for i in range(N)]
print(N, end=": ")
print(*A, sep=", ")
про end можно почитать тут: https://docs.python.org/3/library/functions.html#print
Другой вариант:
N = 10
A = [str(i) for i in range(N)]
print(f"{N}: {', '.join(A)}")
тут, в список A, я добавляю не числа(int), а строки(string)
тут используется f-строки про них можно прочитать тут: https://realpython.com/python-f-strings/
также используется метод .join, который делает конкатенацию (объединение) строчных объектов находящихся в итерируемых объектах типа списков https://docs.python.org/3/library/stdtypes.html?highlight=join#str.join
Есть f-строки. В них можно писать переменные, не закрывая кавычек, писать их в фигурных скобках Чтобы программа поняла, что строка именно f, перед ней нужно поставить букву f. Например:
s = 'Hello, '
print(f'{s} world!')
Выведет:
Hello, world!
Есть метод join. Он как бы "лепит" строку из списка, множества и т.д.. Сначала даётся разделитель, чем разделить элементы списка в строке. Потом ставится .join(список из которого надо сделать строку)
Получается вот так: разделитель.join(список из которого надо сделать строку)
Пример. Этот код:
print(' '.join([1, 2, 3]))
Выведет:
1 2 3
С Вашим случаем я предлагаю эти f-строки и метод join.
Нужны переменная N и список A в одной строке. Это f-строка.
Нужно вывести список через разделитель: запятую с пробелом. Это join.
Получается решение вот такое:
print(f'{N}: {", ".join(A)}')