Помогите пожалуйста решить задачу 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КВ меньше.
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('Таких же символов нет')