Форум сайта python.su
857
nkinki
Задано слово, записанное строчными буквами латинского алфавита (a-z). Нужно выяснить, можно ли (нужно) по данному слова удалить один символ так, чтобы образовалось новое слово, которое читается одинаково в обоих направлениях (палиндром). Например, если из слова pаnnа удалить г., образуется слово аnnа, которое читается одинаково в обоих направлениях. Если слово образовать можно, тогда нужно вывести. Если нельзя создать - вывести последнюю букву начального слова. Однозначность развязку гарантируется.
Input format
Один рядок, в якому записано текст (одне слово) (2 < кількість літер ≤ 103).
Output format
Текст – відповідь на завдання.
Examples
Input
panna
Output
anna
Input
counterstrike
Output
e
Input
inwi
Output
ini
Input
aba
Output
aba
>>> def is_palindrome(text): ... return text == text[::-1] ... >>> def f(): ... text = input('Enter string: ') ... found = None ... if is_palindrome(text): ... found = text ... else: ... for i in reversed(range(len(text))): ... newtext = text[:i] + text[i+1:] ... if is_palindrome(newtext): ... found = newtext ... break ... if found is not None: ... print(found) ... else: ... print(text[-1]) ... >>> f() Enter string: anna anna >>> f() Enter string: panna anna >>> f() Enter string: counterstrike e >>> f() Enter string: inwi ini >>> f() Enter string: aba aba >>>
Отредактировано py.user.next (Март 9, 2021 21:37:13)
Офлайн
0
py.user.next
py.user.nextСпасибо большое. А как вставить в файл, чтобы прохождение 100% было
Прикреплённый файлы:
e.py (643 байта)
Офлайн
857
Это пишешь в файл palindrome.py
#!/usr/bin/env python3
def is_palindrome(text):
return text == text[::-1]
def f():
text = input('Enter string: ')
found = None
if is_palindrome(text):
found = text
else:
for i in reversed(range(len(text))):
newtext = text[:i] + text[i+1:]
if is_palindrome(newtext):
found = newtext
break
if found is not None:
print(found)
else:
print(text[-1])
f()
[guest@localhost py]$ ./palindrome.py
Enter string: panna
anna
[guest@localhost py]$ ./palindrome.py
Enter string: counterstrike
e
[guest@localhost py]$
cd c:\dir_with_file
dir
python palindrome.py
Отредактировано py.user.next (Март 10, 2021 01:44:22)
Офлайн
0
Допоможіть розв'язати.
Задано N (1 ≤ N ≤ 102) цілих чисел. Знайдіть суму найменшого та найбільшого з цих чисел. Примітка. -105<a<105, де a – довільне число із заданої послідовності.
Офлайн
0
Завдання A. Міні-макс (10 балів)
Задано N (1 ≤ N ≤ 102
) цілих чисел. Знайдіть добуток найменшого та найбільшого з цих чисел. Примітка. -
105<a<105
, де a – довільне число із заданої послідовності чисел.
Вхідні дані
У першому рядку записано натуральне число N (1 ≤ N ≤ 102
).
У другому рядку записано N цілих чисел через пробіл.
Вихідні дані
Ціле число – відповідь на завдання.
Приклади
Вхідні дані Вихідні дані
1
-19
361
3
1 2 -3
-6
10
1 1 1 1 1 1 1 1 1 1
1
Офлайн