Найти - Пользователи
Полная версия: Допоможіть будь ласка, розвязати одну з задач (Завдання з олімпіади).
Начало » Python для новичков » Допоможіть будь ласка, розвязати одну з задач (Завдання з олімпіади).
1 2
py.user.next
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
>>>
nkinki
py.user.next
py.user.next
Спасибо большое. А как вставить в файл, чтобы прохождение 100% было
py.user.next
Это пишешь в файл 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()

Так он выполняется в Linux
[guest@localhost py]$ ./palindrome.py 
Enter string: panna
anna
[guest@localhost py]$ ./palindrome.py
Enter string: counterstrike
e
[guest@localhost py]$

Под виндой можешь зайти через клавиши Win + R в программу cmd.exe
В оболочке cmd.exe можешь перейти в директорию с файлом
cd c:\dir_with_file
dir
И в оболочке cmd.exe и в директории с файлом dir_with_file запустить его на выполнение
python palindrome.py
olgat1
Допоможіть розв'язати.

Задано N (1 ≤ N ≤ 102) цілих чисел. Знайдіть суму найменшого та найбільшого з цих чисел. Примітка. -105<a<105, де a – довільне число із заданої послідовності.
olgat1
Завдання 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
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB