Python (3.3) Неверная ошибка синтаксиса

Я пытаюсь создать программу с использованием python, которая может помочь нам рассказать время, дату и год, однако мне приходится сталкиваться с несколькими проблемами.

from datetime import datetime
now = datetime.now()
current_day = now.day
print current_day
current_month = now.month
print current_month
current_year = now.year
print current_year
input(press enter to exit)

Каждый раз, когда я запускаю его, он говорит о недопустимом синтаксисе, видимо, что-то делать с третьей строкой. Я не уверен, что делать! Может кто-нибудь мне помочь?

5 ответов

Python 3 не использует тот же синтаксис print что и Python 2. print в Python 3 - это функция, поэтому вам нужна print(current_day)


В Python 3.x вам нужно выполнить print(current_day). print больше не является ключевым словом, как в 2.x, а встроенным.

Вот как ваш скрипт должен быть в Python 3.x:

from datetime import datetime
now=datetime.now()
current_day=now.day
print(current_day)
current_month=now.month
print(current_month)
current_year=now.year
print(current_year)
# You have to make "press enter to exit" a string.
# Otherwise, the script will blow up because "press" isn't defined.
input("press enter to exit")


У Python 3 нет оператора печати! Он имеет функцию печати: вам нужно распечатать (smthn). Также input("press enter to exit")


Как уже упоминалось, вам нужно использовать функцию печати, а не инструкцию печати в Python3. Вы также можете упростить код:

from datetime import datetime

now = datetime.now()
print("{0.day}-{0.month}-{0.year}".format(now))
input('Press any key to exit')

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


Сначала этот код python 2.7. И это полное исправление вашего кода в python3

from datetime import datetime
now = datetime.now()
current_day = now.day
print(current_day)
current_month = now.month
print(current_month)
current_year = now.year
print(current_year)

input("Press Enter to exit")

А для python 2.7 это быстрое решение.

from datetime import datetime
now = datetime.now()
current_day = now.day
print current_day
current_month = now.month
print current_month
current_year = now.year
print current_year
try:
 input("press enter to exit")
except SyntaxError:
 pass

licensed under cc by-sa 3.0 with attribution.