Гость Оʻzbek tili Архивный вопрос

Написать программу, которая запрашивает имя файла и распечатывает из него только те строки, которые являются палиндромами(python)

Нет комментариев

Ответы

Гость Гость

# Python 3.6.1

print(\"Введите имя файла: \",end=\'\')
f = open(input())
for S in f:
   if S[-1] == \'\\n\':
      S = S[:-1]
   L = len(S)
   B = 1
   for i in range(L//2):
      if S[i] != S[L-i-1]: B = 0
   if B == 1:
      print(S)

комментариев 7 :
Выдаёт ошибку в строке L=len(S)
На какой версии Питоне пытаетесь запустить?
И как вводите путь к файлу? Есть ли этот файл у Вас на компьютере?
Версия 3.5.2
файл есть. Ввожу print(\'введите имя файла\',end=\'\')
f=open( input(),\'r\')
Вы в интерактивном режиме построчно вводите? У меня так тоже ошибку выдаёт... сохраните в файл с .py. File → Open, найдите свой файл, откройте его и нажмите F5
Гость Гость

Python 2.7
def main(\'__init__\')
    text=read(file)
    for i in strings(text)
        if i is i.palyndrome()
            print(i)

комментариев 3 :
Да, под этой строкой пишут код, который будет выполняться при выполнении скрипта (__init__ - магическая переменная имени скрипта). Все что за пределами этой части кода, выполнено не будет (например, для того чтобы импортировать модули из скрипта)
а,ну конечно, прошу прощения, первая строка def main(\'__init__\'). Если опять не получится - попробуйте на 2.7, я на нем писал, в 3.5 еще не все функции импортированы
А можно, пожалуйста, решение на 3 версию?