С вашим кодом много ошибок. Ошибка, которую вы получаете, заключается в том, что вы используете один =
вместо двойного ==
. Одиночный предназначен для присваивания, и вы не можете сделать это как выражение.
Но после исправления вы сразу же нажмете другую ошибку, потому что datetime.datetime.now
- это функция. таким образом %
не определено. Вместо этого вызовите `` datetime.datetime.now () `, чтобы получить значение, возвращаемое функцией вместо объекта функции.
Однако это все равно не будет работать, поскольку datetime.datetime.now()
- это объект datetime.datetime
, в основном кортеж целых чисел, который также не определяет %
. Поэтому вместо этого получите дни или секунды или что-то, что является целым числом, т. Е. datetime.datetime.now().second % 2 == 0
действительно для проверки четной секунды.
Но прежде чем что-либо из этого, вам нужно спросить себя, что означает четная дата? Для этого нет стандартного определения, поэтому вам нужно определить его более четко, чтобы читатели вашего кода понимали, что вы подразумеваете под ним.
Для ясности, вот все эти шаги с каждым из сообщений об ошибках:
Использование =
вместо ==
:
print(datetime.datetime.now % 2 = 0)
File "<ipython-input-17-9fea3c9eff3e>", line 1
print(datetime.datetime.now % 2 = 0)
^ SyntaxError: keyword can't be an expression
Попытка применить %
к объекту функции, а не к возвращаемому значению функции (т.е. оставляя ()
):
print(datetime.datetime.now % 2 == 0)
Traceback (most recent call last):
File "/Users/dgolding/PycharmProjects/dsdk-pg/venv/lib/python3.6/site-packages/IPython/core/interactiveshell.py",
строка 2963, в run_code
exec (code_obj, self.user_global_ns, self.user_ns)
Файл "", строка 1, в
печать (datetime.datetime.now% 2 == 0)
Ошибка типа: неподдерживаемые типы операндов для%: 'builtin_function_or_method' и 'int'
Попытка применить %
к объекту datetime
print(datetime.datetime.now() % 2 == 0)
Traceback (most recent call last):
File "/Users/dgolding/PycharmProjects/dsdk-pg/venv/lib/python3.6/site-packages/IPython/core/interactiveshell.py",
строка 2963, в run_code
exec (code_obj, self.user_global_ns, self.user_ns)
Файл "", строка 1, в
print (datetime.datetime.now ()% 2 == 0)
Ошибка типа: неподдерживаемые типы операндов для%: 'datetime.datetime' и 'int'
Наконец, что-то допустимое, применяя %
к целому числу:
print(datetime.datetime.now().second % 2 == 0)
True