Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 9, 2017 12:05:36

gretyl
Зарегистрирован: 2017-02-09
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

invalid syntax

Всем привет. Только начинаю изучать Python и сразу же появилась проблема при выполнении первой практической работы.
В чем проблема и как её решить? Заранее спасибо за ответы)

Отредактировано gretyl (Фев. 9, 2017 12:06:07)

Прикреплённый файлы:
attachment Безымянный.png (175,4 KБ)

Офлайн

#2 Фев. 9, 2017 12:13:26

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

invalid syntax

gretyl
В чем проблема и как её решить?
Объясните, какой по-вашему практический смысл в знаках >>> в начале каждой строки?



Офлайн

#3 Фев. 9, 2017 14:29:35

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

invalid syntax

gretyl
посмотрите где вы там обучаетесь об интерактивном режиме работы интерпретатора. Ваша проблема в том что вы не различаете его от просто файла с исходным кодом.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#4 Фев. 9, 2017 17:59:22

python335
Зарегистрирован: 2016-10-19
Сообщения: 88
Репутация: +  -8  -
Профиль   Отправить e-mail  

invalid syntax

долджно быть так

 if num1 > 12 and num2 is not == 12:
     do_something()

Офлайн

#5 Фев. 9, 2017 20:09:23

aiscy
Зарегистрирован: 2015-06-17
Сообщения: 52
Репутация: +  9  -
Профиль   Отправить e-mail  

invalid syntax

python335
долджно быть так

if num1 > 12 and num2 is not == 12:
Вы уверены? is используется для проверки на то, что аргументы ссылаются на один и тот же объект.
 >>> a = 40.0
>>> b = 40.0
>>> a is b
False

Отредактировано aiscy (Фев. 9, 2017 20:10:04)

Офлайн

#6 Фев. 9, 2017 23:20:39

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

invalid syntax

python335
двойка вам. За бред

python335
if num1 > 12 and num2 is not == 12:
do_something()
1) это не валидный код, это SyntaxError
2) даже если представить что символы == здесь оказались случайно - оператор is предназначен для другого и использование его в таком контексте не правильное
3) изначальная строчка была корректной записью, а именно выражением, не надо сюда добавлять if . Это какая то прям не обоснованная отсебятина.
В общем делайте выводы



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#7 Фев. 10, 2017 06:09:16

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

invalid syntax

aiscy
Однако из-за того, что малые целые
числа и строки кэшируются и используются повторно, оператор is сообщает,
что переменные ссылаются на один и тот же объект.

 >>> X = 42
>>> Y = 42 # Должно получиться два разных объекта
>>> X == Y
True
>>> X is Y # Тот же самый объект: кэширование в действии!
True

Офлайн

#8 Фев. 10, 2017 08:30:48

aiscy
Зарегистрирован: 2015-06-17
Сообщения: 52
Репутация: +  9  -
Профиль   Отправить e-mail  

invalid syntax

noob_saibot
Да, спасибо, знаю
Если не путаю, в CPython кэшируются числа от -5 до 256.
В PyPy немного интереснее:
 >>>> X = 1267650600228229401496703205376
>>>> Y = 1267650600228229401496703205376
>>>> X is Y
True
>>>> X = 42.0
>>>> Y = 42.0
>>>> X is Y
True

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version