2014-12-27 82 views
-3

我剛開始學習python代碼。我正在參加codeacademy的課程,並且在這之前從幾年前就已經有了一些有限的知識。我喜歡那裏的第8或第9堂課。python新手,有問題

我決定我會在我的本地PC上使用和編寫一些代碼,而不是在線。我想寫日期並將其顯示給用戶,但無論我做什麼我嘗試使用的代碼都顯示語法錯誤或不受支持的類型錯誤。任何幫助將非常感激。這段代碼似乎在codeacademy網站上工作得很好。我正在運行最新版本的python 3.4

from datetime import datetime 

now = datetime.now() 

print '%s/%s/%s %s:%s:%s' % (now.month, now.day, now.year, now.hour, now.minute, now.second) 
+0

告訴我們你的錯誤 –

+1

你應該真的顯示你得到的錯誤。但是,在這種情況下,您需要使用Python 3語法來打印'而不是Codecademy的Python 2語法。 – ydaetskcoR

+0

@ydaetskcoR那是真的。不要使用'%s' –

回答

1

它打印:打印的語法在python 2x和3x中是不同的。在代碼accedmy,他們正在使用python 2倍,因此它在那裏工作,但你使用python 3倍,爲你所需要的支架

print('%s/%s/%s %s:%s:%s' % (now.month, now.day, now.year, now.hour, now.minute, now.second)) 

你需要使用支架

更好地使用格式:

print('{}/{}/{} {}:{}:{}'.format(now.month, now.day, now.year, now.hour, now.minute, now.second)) 
+0

正確!順便說一下,在Python 3.x中不推薦使用%s。現在,最好在Python 3中不推薦使用.format函數 –

+0

%,而是應該使用format方法。你也應該解釋爲什麼他們需要在這裏使用括號,但不是在Codecademy上。 – ydaetskcoR

+0

爲什麼downvote ???,是錯的? – Hackaholic

1

您可以考慮使用strftime方法從datetime

now.strftime('%m/%d/%Y %H:%M:%S') 
# this will give you a format string as you want 
'12/27/2014 13:18:59' 
+1

這實際上並沒有回答這個問題,即使它很好指出。 –

+0

真的,它應該真的去評論部分。 – Anzel

+0

爲什麼你想要使用'strftime()'如果你要打印,只要把格式轉換成'print()'格式的字符串就可以了@ – Anthon