2017-08-14 99 views
0

這是一個代碼片段,要求用戶輸入。問題是當前月份的評估。如果輸入當前月份,那麼gooddate應該= 0.由於某種原因,它們不會被評估爲相等。我嘗試了變量整數和字符串,但由於某些原因,08不等於08。讓我知道如果不夠清楚。在Python值不相等時,他們應該是

#!/usr/bin/python3 
import time 
month = str(time.strftime("%m")) 

# User Input 
print("""Starting Time 
Time format - Month/Day Hours:Minutes - Example 7/21 08:00 
Option - Leave month out, but keep/- Example /21 08:00""") 
date1 = input("Enter Starting Time -> ",) 

# Split/
x = date1.split('/') 

# Evaluate if the current month is what the user entered. 
print("x Value=", x[0]) 
print("month Value=", month) 

if month == x[0]: 
    gooddate1 = 0 
else: 
    start_replacement1 = month+date1 
gooddate1 = 1 

print("gooddate Value=", gooddate1) 

回答

0

的問題似乎是你忘記縮進倒數第二行:gooddate1 = 1。所以現在gooddate1將是1而不是0.

您可以使用==if month == x[0]是比較字符串的好方法。

+0

不正確的縮進畢竟是問題的原因。感謝大家的幫助。我對Python很新,所以剛開始學習。 – backspin

0

字符串比較不那麼容易,你做了什麼(if month == x[0])。但是你可以用關鍵字in做它作爲一個解決辦法:

if month in x[0]: 
    gooddate1 = 0 

(你有索引您gooddate1,否則就不能在else情況下,和gooddate始終爲1)

+0

其實很簡單。 '如果月x [0]'是非常不同於'如果月== x [0]' – Adam

+0

哦,是的,你是對的。問題只在於錯誤的縮進。 – acknowledge

相關問題