powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [Python 2.7.2] Invalid syntax
14 сообщений из 14, страница 1 из 1
[Python 2.7.2] Invalid syntax
    #37997546
Фотография Маф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте. Решил попробовать Питон, начал в 12 часов ночи, не могу оторваться до сих пор. В очередном небольшом скрипте допустил где-то ошибку, уже второй час сижу и не могу её найти, остановился на выводе, что я не знаю того, что Питон от меня хочет, может быть Вы увидите ошибку. Вот код
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
# -*- coding: cp1251 -*-
spisok = ['понедельник',
          'вторник',
          'среда',
          'четверг',
          'пятница',
          'суббота',
          'воскресенье']
''' enumerate - ф-ция позволяет
раскладывать список на порядковые
номера и соответсвующие им элементы '''
for index, string in enumerate(spisok):
    print index, string +"\n" ''' выводим пор.номера и элементы '''

l = int(len(spisok))

x = int(raw_input("Введите номер элемента, до которого будет вестись счёт: "))
for index, string in enumerate(spisok):
    indexs = [index] '''порядковые номера элементов списка
                      преобразовываем в список
                      [0, 1, 2, 3, 4, 5, 6, 7]'''
y = int(max(indexs))
print ("Максимальный порядковый номер списка = "+y)
if x > y:
    print ("Список не обладает таким кол-вом элементов\n")
else:
    x -= 1
    z = spisok[0:x]
    for index, string in enumerate(z):
    print string


Питон указывает мне на то, что ошибка в строке
Код: python
1.
print ("Список не обладает таким кол-вом элементов\n")


или до неё.. мои руки опускаются, но не закончив этот скрипт, я не продолжу задуманное уже сегодня, помогите
...
Рейтинг: 0 / 0
[Python 2.7.2] Invalid syntax
    #37997549
Фотография Маф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема решилась, чудным образом, прошу помочь мне понять каким.

Вот этот скрипт работает:
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
# -*- coding: cp1251 -*-
spisok = ['понедельник',
          'вторник',
          'среда',
          'четверг',
          'пятница',
          'суббота',
          'воскресенье']
# enumerate - ф-ция позволяет
#раскладывать список на порядковые
#номера и соответсвующие им элементы

for index, string in enumerate(spisok):
    print index, string +"\n" #выводим пор.номера и элементы
    
l = int(len(spisok)) #порядковые номера элементов списка
                      #преобразовываем в список
                      #[0, 1, 2, 3, 4, 5, 6, 7]

x = int(raw_input("Введите номер элемента, до которого будет вестись счёт: "))
for index, string in enumerate(spisok):
    indexs = [index] 
y = str(max(indexs))
print ("Максимальный порядковый номер списка = "+y)
if x > y:
    print ("Список не обладает таким кол-вом элементов\n")
else:
    x -= 1
    z = spisok[0:x]
    for index, string in enumerate(z):
        print string
...
Рейтинг: 0 / 0
[Python 2.7.2] Invalid syntax
    #37997655
Фотография NekZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: python
1.
2.
3.
    
    for index, string in enumerate(z):
    print string


Нет блока для цикла
...
Рейтинг: 0 / 0
[Python 2.7.2] Invalid syntax
    #37997659
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Маф,

Нужно правильно использовать docstring 'и.
...
Рейтинг: 0 / 0
[Python 2.7.2] Invalid syntax
    #37998071
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Маф,

Никогда не делай так
1. print index
print ("Список не обладает таким кол-вом элементов\n")
И вот так
2. "Максимальный порядковый номер списка = "+y
...
Рейтинг: 0 / 0
[Python 2.7.2] Invalid syntax
    #38002708
Фотография Маф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FishHook,

почему?
...
Рейтинг: 0 / 0
[Python 2.7.2] Invalid syntax
    #38002709
Фотография Маф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Usman,

закомментировал в одинарные кавычки? в этом ошибка?
...
Рейтинг: 0 / 0
[Python 2.7.2] Invalid syntax
    #38002745
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МафFishHook,

почему?
1.
Потому что ты уже определись с версией питона. То ты принт как функцию юзаешь, то как оператор.
2.
Потому что строки - не изменяемые объекты и их конкатенация - это весьма дорогая операция. Для этого есть join и format.
...
Рейтинг: 0 / 0
[Python 2.7.2] Invalid syntax
    #38002747
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МафUsman,

закомментировал в одинарные кавычки? в этом ошибка?
Тройные кавычки имеют вполне определенную функцию - ими помечаются строки документации, не надо ими ничего комментировать, для комментариев есть #
...
Рейтинг: 0 / 0
[Python 2.7.2] Invalid syntax
    #38002890
Фотография Маф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NekZ,
блок нужен, разве? на хабре в статье увидел такой вид написания цикла
...
Рейтинг: 0 / 0
[Python 2.7.2] Invalid syntax
    #38003049
Фотография Маф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FishHook,

я не использовал print как ф-цию, я везде использовал его как оператор, просто оператор в функции
...
Рейтинг: 0 / 0
[Python 2.7.2] Invalid syntax
    #38003558
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МафFishHook,

я не использовал print как ф-цию, я везде использовал его как оператор, просто оператор в функции

А это что?

Код: python
1.
print ("Максимальный порядковый номер списка = "+y)
...
Рейтинг: 0 / 0
[Python 2.7.2] Invalid syntax
    #38006775
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мафзакомментировал в одинарные кавычки? в этом ошибка? Для docstring'ов также важен отступ (из соображений правильного стиля ):

Возможное решение:
Способ №1: Указать правильный отступ (как в текущем блоке for )
Код: python
1.
2.
3.
4.
5.
6.
x = int(raw_input("Введите номер элемента, до которого будет вестись счёт: "))
for index, string in enumerate(spisok):
    indexs = [index] 
    '''порядковые номера элементов списка
                      преобразовываем в список
                      [0, 1, 2, 3, 4, 5, 6, 7]'''

[Минус] Отступ открывающей тройной кавычки должне совпадать с закрывающей, если он не однострочный

Способ №2: Разделить точкой запятой:
Код: python
1.
2.
3.
4.
5.
x = int(raw_input("Введите номер элемента, до которого будет вестись счёт: "))
for index, string in enumerate(spisok):
    indexs = [index];'''порядковые номера элементов списка
                      преобразовываем в список
                      [0, 1, 2, 3, 4, 5, 6, 7]'''

[Минус] Точки-запятые рекомендуется использовать для разделения простых операторов.
В целях читабельности поступайте след. образом: одно выражение - одна строка

P.S.
Сорри, за задержку с ответом
...
Рейтинг: 0 / 0
[Python 2.7.2] Invalid syntax
    #38029162
Фотография Маф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Usman,
спасибо, за ответ) теперь понял)
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [Python 2.7.2] Invalid syntax
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]