@3DOSES

В чем моя ошибка в решении задачи?

a = input("Введите слово ")

if a[0] == a('о'):
	print(a.replace('о', ' ')
else:
	print('Превая буква не о')


Дано слово: удалить из него первую из букв "о", если такая буква есть
  • Вопрос задан
  • 131 просмотр
Пригласить эксперта
Ответы на вопрос 2
MinTnt
@MinTnt
Условие подкорректировать:
Не if a[0] == a('о'),
а if a[0] == 'о'.

Так как в первом случае, a('о') интерпретируется как обращение к незаданной функции a и передачей параметра строки

Ну и ещё можно юзать метод строк lower() в таких проверках. Он делает поданную строку в низкий регистр, по типу 'АвТО".lower() = 'авто'
Ответ написан
Комментировать
@o5a
1. Проверка на первую букву неправильная, синтаксис a(..) означает вызов функции a, чем она не является.
Так что или так
if a[0] == "о"
или
a.starswith("о")
2. a.replace('о', ' ') заменит букву на пробел, а в описании написано "удалить", обычно под этим понимается замена на пустую строку, т.е. a.replace('о', '')
3. В описании написано "удалить первую из букв о", а replace удаляет все буквы "о". Можно использовать 3-й параметр, чтобы ограничить количество замен только 1-й буквой.
a.replace("о", "", 1)
4. По описанию задачи я бы предположил, что не должно быть никаких print('Превая буква не о'), просто всегда возвращать исходную строку с вышеуказанной заменой, даже если букв нет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы