Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 26, 2016 05:08:48

asankhodzhoev
Зарегистрирован: 2016-02-25
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

invalid syntax (нужна помощь)

1 print(“\t\t\tThe Game v.3.0”)
2 print(“\t\t\tZagadaite chislo ot 0 do 11”)
3
4 guess_number=“”
5 while not guess_number:
6 guess_number=int(raw_input(“VVedite chislo: ”)
7 if guess_number > 11:
8 print(“Chislo ne dolzhno prevyshat' 11”)
9 elif guess_number < 0:
10 print(“Chislo ne dolzhno byt' menshe 0”)
11 else:
12 print(“Vse ok”)
13
14 raw_input(“Press enter to quit”)


Доброго времени суток, друзья,
Я только недавно начал изучать python. и вот на одном из заданий по книге натолкнулся на проблемку. Вроде бы делаю все правильно, но выходит ошибка “Invalid Syntax” в 7ой строке.

Буду очень признателен вашей помощи

Офлайн

#2 Фев. 26, 2016 05:29:55

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

invalid syntax (нужна помощь)

Вы прям так и пишите с номерами строк?



Офлайн

#3 Фев. 26, 2016 05:30:40

asankhodzhoev
Зарегистрирован: 2016-02-25
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

invalid syntax (нужна помощь)

FishHook
Вы прям так и пишите с номерами строк?

нет, я для удобства так написал.

Офлайн

#4 Фев. 26, 2016 05:34:03

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

invalid syntax (нужна помощь)

asankhodzhoev
нет, я для удобства так написал
Для удобства чего? Я должен сейчас ваш код скопировать, вставить в редактор и запустить, чтобы увидеть вашу ошибку.
Разумеется, этого не получится, потому что в начале строк какие-то цифры.
По-вашему очень удобно то, что вы сделали код незапускаемым и вставили его на форум без специального тега, что убило пробелы? Сделайте по нормальному, без удобств и внутри тега
[code python][/code]



Офлайн

#5 Фев. 26, 2016 06:05:47

asankhodzhoev
Зарегистрирован: 2016-02-25
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

invalid syntax (нужна помощь)

print("\t\t\tThe Game v.3.0")
print("\t\t\tZagadaite chislo ot 0 do 11")
guess_number=""
while not guess_number:
        guess_number=int(raw_input("VVedite chislo: ")
if guess_number > 11:
        print("Chislo ne dolzhno prevyshat' 11")
elif guess_number < 0:
        print("Chislo ne dolzhno byt' menshe 0")
else:
        print("Vse ok")
raw_input("Press enter to quit")

Офлайн

#6 Фев. 26, 2016 06:06:24

asankhodzhoev
Зарегистрирован: 2016-02-25
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

invalid syntax (нужна помощь)

прошу прощения, сразу не заметил, что есть функция добавить в виде кода

Офлайн

#7 Фев. 26, 2016 06:12:13

ajib6ept
От: От: От: От: От: От: От: От:
Зарегистрирован: 2013-08-04
Сообщения: 297
Репутация: +  26  -
Профиль   Отправить e-mail  

invalid syntax (нужна помощь)

В шестой строчке не хватает закрывающей скобки от int



_________________________
Python golden rule: Do not PEP 8 unto others; only PEP 8 thy self.
Don't let PEP 8 make you insanely intolerant of other people's code.

Офлайн

#8 Фев. 26, 2016 06:22:03

asankhodzhoev
Зарегистрирован: 2016-02-25
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

invalid syntax (нужна помощь)

asankhodzhoev@debian:~/programming/new$ python game3.py
The Game v.3.0
Zagadaite chislo ot 0 do 11
VVedite chislo:
Traceback (most recent call last):
File “game3.py”, line 8, in <module>
guess_number=int(raw_input(“VVedite chislo: ”))
ValueError: invalid literal for int() with base 10: ''
asankhodzhoev@debian:~/programming/new$


теперь, Если вводить пустую строку, то выходит такая ошибка.

все ли я правильно сделал с “while” ?

Офлайн

#9 Фев. 26, 2016 07:33:31

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

invalid syntax (нужна помощь)

asankhodzhoev
теперь, Если вводить пустую строку, то выходит такая ошибка.
Вам простым языком говорят о том, что функция int ожидает на вход строку, которую можно привести к целому числу.
Пустая строка не обозначает на письме какое-либо число, поэтому функция int вызывает исключение. Вы должны сначала обработать введенные данные (проверить их валидность), а потом вызывать функцию, либо обрабатывать выбрасываемое исключение с помощью try / exept.



Отредактировано FishHook (Фев. 26, 2016 07:33:52)

Офлайн

#10 Фев. 26, 2016 08:22:36

asankhodzhoev
Зарегистрирован: 2016-02-25
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

invalid syntax (нужна помощь)

FishHook

Огромное спасибо, теперь я понял свою ошибку.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version