Предмет: Информатика,
автор: qqqqq17
Написать программу на Python:
1. Использовать для решения задачи count. Дана строка, состоящая из слов, которые разделенны пробелами. Определить, сколько в ней слов.
2. Дана строка. Заменить в этой строке все буквы h на букву H. В первом слове первой буквы это не учитывать, как и в последнем слове последней буквы.
Пример: heHHo How are Hu Helloh
Ответы
Автор ответа:
2
1)
st = str(input("Введите: "))
st.rstrip()
print('Довжина:',st.count(' ')+1)
st = str(input("Введите: "))
st.rstrip()
print('Довжина:',st.count(' ')+1)
Автор ответа:
0
Задача 1. Код, предложенный Budzsergiy777p0i27m наиболее подходит для решения, если слова разделены только одним пробелом. Решение задачи ниже аналогично (удалить пробелы в начале и в конце строки, затем посчитать пробелы, увеличить на 1 результат и вывести на экран)
Программа:
print(input().strip().count(' ')+1)
Задача 2. Здесь следует учесть, что строка является неизменяемым элементом, т.е. напрямую символ в строке изменить нельзя, но можно получить два среза строки до и после буквы 'h' и затем склеить первый срез + большая буква 'H' + второй срез. Например, строка
'abchdef' -> 'abc'+'H'+'def'. А чтобы не захватить первую и последнюю букву h, нужно найти их индексы в строке и затем обрабатывать только часть строки между первой и последней буквой h.
Программа:
x=input() #ввод строки
n1=x.find('h') #находим индекс первого вхождения буквы h
n2=x.rfind('h') #находим индекс последнего вхождения буквы hy=x[n1+1:n2] #выбираем срез строки после первого вхождения
#буквы h и до последнего вхождения буквы h
while y.find('h')!=-1: #пока в срезе есть буква h y=y[:y.find('h')]+'H'+y[y.find('h')+1:] #заменить малую букву h на H
print(x[:n1+1]+y+x[n2:]) #вывод строки до первой буквы h+результат
#замен в срезе h на H + вывод строки после
# последней буквы h
Программа:
print(input().strip().count(' ')+1)
Задача 2. Здесь следует учесть, что строка является неизменяемым элементом, т.е. напрямую символ в строке изменить нельзя, но можно получить два среза строки до и после буквы 'h' и затем склеить первый срез + большая буква 'H' + второй срез. Например, строка
'abchdef' -> 'abc'+'H'+'def'. А чтобы не захватить первую и последнюю букву h, нужно найти их индексы в строке и затем обрабатывать только часть строки между первой и последней буквой h.
Программа:
x=input() #ввод строки
n1=x.find('h') #находим индекс первого вхождения буквы h
n2=x.rfind('h') #находим индекс последнего вхождения буквы hy=x[n1+1:n2] #выбираем срез строки после первого вхождения
#буквы h и до последнего вхождения буквы h
while y.find('h')!=-1: #пока в срезе есть буква h y=y[:y.find('h')]+'H'+y[y.find('h')+1:] #заменить малую букву h на H
print(x[:n1+1]+y+x[n2:]) #вывод строки до первой буквы h+результат
#замен в срезе h на H + вывод строки после
# последней буквы h
Довжина: 5
Похожие вопросы
Предмет: Информатика,
автор: gggh2396
Предмет: Химия,
автор: sokolartem2001
Предмет: География,
автор: jasurbekbeknazarov57
Предмет: Геометрия,
автор: slurm9slurm9
там явно не 37 и в программе Budzsergiy777p0i27m тоже самое
Можете объяснить?