while s[i] == ' ':
i += 1
s = s[i:]
i = len(s)
while s[i - 1] == ' ':
i -= 1
s = s[:i]
s_new = s[0]
i = 1
while i < len(s):
if s[i] != ' ':
s_new += s[i]
elif s[i - 1] != ' ':
s_new += '*'
i += 1
print(s_new + '!')
Пример выполнения скрипта:
one two three four f*ve six seven
one*two*three*four*f*ve*six*seven!
Однако в языке программирования Python данную задачу проще решить, преобразовав строку в список. С помощью метода split() строка разделяется на слова по пробелам. При этом неважно сколько их. Далее остается только снова собрать слова в строку. Проще это сделать строковым методом join():
s = input()
l = s.split()
s1 = '*'.join(l)
print(s1)
Дана строка, содержащая натуральные числа и слова. Необходимо сформировать список из чисел, содержащихся в этой строке. Например, задана строка "abc83 cde7 1 b 24". На выходе мы должны получить список [83, 7, 1, 24].
Следует посимвольно перебирать строку. Если очередной символ цифра, надо добавить ее в новую строку. Далее проверять символы за ней, и если они тоже цифры, то добавлять их в конец этой новой подстроки из цифр. Когда очередной символ окажется не цифрой, или будет достигнут конец строки, то надо преобразовать строку из цифр в число и добавить в список.
s = input()
l = len(s)
integ = []
i = 0
Достарыңызбен бөлісу: |