Написать программу, которая запрашивает имя файла и распечатывает из него только те строки, которые являются палиндромами(python)
Python 2.7 def main('__init__') text=read(file) for i in strings(text) if i is i.palyndrome() print(i)
Да, под этой строкой пишут код, который будет выполняться при выполнении скрипта (__init__ - магическая переменная имени скрипта). Все что за пределами этой части кода, выполнено не будет (например, для того чтобы импортировать модули из скрипта)
а,ну конечно, прошу прощения, первая строка def main('__init__'). Если опять не получится - попробуйте на 2.7, я на нем писал, в 3.5 еще не все функции импортированы
А можно, пожалуйста, решение на 3 версию?
# 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)
Выдаёт ошибку в строке L=len(S)
На какой версии Питоне пытаетесь запустить?
И как вводите путь к файлу? Есть ли этот файл у Вас на компьютере?
Версия 3.5.2
файл есть. Ввожу print('введите имя файла',end='')
f=open( input(),'r')
Вы в интерактивном режиме построчно вводите? У меня так тоже ошибку выдаёт... сохраните в файл с .py. File → Open, найдите свой файл, откройте его и нажмите F5