Top.Mail.Ru
Ответы

Помогите пожалуйста решить задачу Python

Дана строка S и номер позиции символа в строке. Напишите программу, которая выводит соседей этого символа и сообщение о количестве таких же символов среди этих соседей: их нет, есть ровно один или есть два таких же.


Пример 1:

Введите строку: abbc

Номер символа: 3


Символ слева: b

Символ справа: c


Есть ровно один такой же символ.



Пример 2:

Введите строку: abсd

Номер символа: 3


Символ слева: b

Символ справа: d


Таких же символов нет.

По дате
По рейтингу
Аватар пользователя
Новичок

Просто и понятно:
s = input('Строка: ')
n = int(input('номер символа: '))
symbol = s[n-1]
right = s[n]
left = s[n-2]
print('Символ слева:{} \nСимвол справа:{}'.format(left, right))
if symbol == right and symbol == left: print('Есть два таких же')
elif symbol == right or symbol == left: print('Есть ровно один такой же символ.')
else: print('Таких же символов нет')

Решение хорошее(см.выше):
Добавлю от себя:совместить в одной строке
несколько операций, и файл будет весить на 3КВ меньше.

Аватар пользователя
Знаток
123456789101112131415
 s = input('Введите строку: ') 
position = int(input('Номер символа: ')) 
s_list = list(s) 
symbol = s_list[position-1] 
right = s_list[position] 
left = s_list[position - 2] 
count = -1 
for i in s_list: 
	if i == symbol: 
		count += 1 
 
 
 
print('Символ слева:', left, '\nСимвола справа:', right) 
print('Таких же символов: ', count) 
Аватар пользователя
Просветленный

Смелый Бобр всё сделал до меня

Аватар пользователя
Искусственный Интеллект

Просто и понятно:
s = input('Строка: ')
n = int(input('номер символа: '))
symbol = s[n-1]
right = s[n]
left = s[n-2]
print('Символ слева: { } \nСимвол справа: { } '.format(left, right))
if symbol == right and symbol == left: print('Есть два таких же')
elif symbol == right or symbol == left: print('Есть ровно один такой же символ.')
else: print('Таких же символов нет')