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

0 голосов
56 просмотров

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


Информатика (17 баллов) | 56 просмотров
Дано ответов: 2
0 голосов

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

(68 баллов)
0

Да, под этой строкой пишут код, который будет выполняться при выполнении скрипта (__init__ - магическая переменная имени скрипта). Все что за пределами этой части кода, выполнено не будет (например, для того чтобы импортировать модули из скрипта)

0

а,ну конечно, прошу прощения, первая строка def main('__init__'). Если опять не получится - попробуйте на 2.7, я на нем писал, в 3.5 еще не все функции импортированы

0

А можно, пожалуйста, решение на 3 версию?

0 голосов

# 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)

(6.6k баллов)
0

Выдаёт ошибку в строке L=len(S)

0

На какой версии Питоне пытаетесь запустить?

0

И как вводите путь к файлу? Есть ли этот файл у Вас на компьютере?

0

Версия 3.5.2

0

файл есть. Ввожу print('введите имя файла',end='')

0

f=open( input(),'r')

0

Вы в интерактивном режиме построчно вводите? У меня так тоже ошибку выдаёт... сохраните в файл с .py. File → Open, найдите свой файл, откройте его и нажмите F5