2015-10-15 67 views
-7
from datetime import datetime 

time_enter = datetime.now() 
print ("Has a car entered the section?") 
if raw_input() == "yes": 
    print (datetime.now().strftime("%H:%M:%S.%f")) 
    datetime.now().strftime("%H:%M:%S.%f") 
    time_leave= datetime.now() 
    print ("Has a car leaved the section?") 
    if raw_input() == "yes": 
     print (datetime.now().strftime("%Y-%m-%d %H:%M:%S")) 
     time_taken_to_travel = time_leave - time_enter 
     print (time_taken_to_travel) 
    else: 
     print ("No car has leaved!") 

else: 
    print ("No car has entered!") 
    print ("No car has leaved!") 

你好,我已經編輯了我的代碼,如下所述,但它說第5行和原始輸入有某種錯誤。你能幫助糾正它嗎?這個python代碼有什麼問題?如果和其他語句

Has a car entered the section? 
Traceback (most recent call last): 
    File "E:\code.py", line 5, in <module> 
    if raw_input() == "yes": 
NameError: name 'raw_input' is not defined 
+0

是否至少告訴你的語法錯誤是什麼?也許從底部的6-7行縮進? – Sayse

+0

你的'print('行不是用')'關閉的。 – agold

+0

您應該關閉所有打印功能'ie)print(datetime.datetime.now()。strftime(「%Y-%m-%d%H:%M:%S」))' – The6thSense

回答

0

不要太苛刻,我必須說你的代碼看起來像一個大面條混亂。新的功能,將邏輯分解爲功能等等,可以很容易地給出代碼的更好的概述。

初看起來,這部分代碼至少是錯誤的。當你定義一個else語句時,它需要有一個縮進塊來執行。

else: 
print("No car has leaved!") 
time_taken_to_travel = time_leave - time_enter 
print (time_taken_to_travel) 

應該與此類似,或者你正在嘗試做的:)

else: 
    print("No car has leaved!") 

time_taken_to_travel = time_leave - time_enter 
print (time_taken_to_travel) 

編輯:

OK,關頂,固定的代碼在Python 2.7運行,如果在Python> 3中運行,請注意不同的使用print

首先,在編寫Python時,縮進非常重要。區分4個空格和縮進。你的代碼太多了。您無需撥打datetime.datetime.now,只需撥打datetime.now即可。其次,爲什麼當你減去em時將日期轉換爲字符串?將它們保留爲日期並作爲輸入,intput不是最佳解決方案。它將驗證輸入的字符串。改爲使用raw_input

from datetime import datetime 

time_enter = datetime.now() 
print "Has a car entered the section?" 
if raw_input() == "yes": 
    print datetime.now().strftime("%H:%M:%S.%f") 
    datetime.now().strftime("%H:%M:%S.%f") 
    time_leave= datetime.now() 
    print "Has a car leaved the section?" 
    if raw_input() == "yes": 
     print datetime.now().strftime("%Y-%m-%d %H:%M:%S") 
    else: 
     print "No car has leaved!" 
     time_taken_to_travel = time_leave - time_enter 
     print time_taken_to_travel 
else: 
    print "No car has entered!" 
    print "No car has leaved!" 

隨着輸出:

Has a car entered the section? 
yes 
11:41:54.281000 
Has a car leaved the section? 
yes 
2015-10-15 11:41:55 
+0

這只是其中一個問題。 – Sayse

+0

這有助於很多....它排序至少 –

+0

編輯的答案,與工作代碼... –