Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Ошибка в интерпретаторе.

Valery Marchenko Ученик (99), на голосовании 4 месяца назад
Неправильно определяется конец блока for & if. вот две программы:
s=open('24var13-17.txt').readline().strip()
count=0
c=1
for i in range(1,len(s)):
if s[i] >= s[i-1]:
c+=1
count=max(count,c)
else: c=1
print(count)

s=open('24var13-17.txt').readline().strip()
count=0
c=1
for i in range(1, len(s)):
if s[i] >= s[i-1]:
c+=1
count=max(count, c)
else:
с=1
print(count)


Первая программа работает правильно. else в 8 ой строке относится к if.
Вторая программа работает неправильно 18 и 19 строки интерпретатор отнес к циклу for.
С уважением Валерий.
P.S. ответы: 15
666650
версия Python: 3.13 (64 bit)
Входной файл большой 1000000 байт (подготовка к ЕГЭ)
>>>
Голосование за лучший ответ
Татьяна Просветленный (36374) 5 месяцев назад
Здравствуйте, Валерий.

Ваше сообщение указывает на проблему с отступами в вашей программе на Python. В первой программе у вас неправильные отступы, из-за чего интерпретатор считает, что else относится к циклу for, а не к блоку if. Правильные отступы очень важны в Python, так как они определяют блоки кода.

Давайте я покажу, как должны выглядеть обе программы с правильными отступами:

Первая программа:
 s = open('24var13-17.txt').readline().strip() 
count = 0
c = 1
for i in range(1, len(s)):
if s[i] >= s[i-1]:
c += 1
count = max(count, c)
else:
c = 1
print(count)
Вторая программа:
 s = open('24var13-17.txt').readline().strip() 
count = 0
c = 1
for i in range(1, len(s)):
if s[i] >= s[i-1]:
c += 1
count = max(count, c)
else:
c = 1
print(count)
Основное различие между двумя программами - отступы в блоках if и else. В первой программе отступы неверные, поэтому интерпретатор неправильно определяет конец блока if.

Чтобы избежать таких ошибок, следуйте этим рекомендациям:

Используйте 4 пробела для отступов.
Убедитесь, что отступы везде одинаковы (например, не смешивайте табуляции и пробелы).
Используйте редакторы кода или IDE, которые помогают управлять отступами (например, PyCharm, VS Code).
С уважением, Татьяна
Miss-is Мыслитель (5715) 5 месяцев назад
На питоне без отступов нет смысла смотреть прогу... где то табулька не вставлена
Похожие вопросы