2017-08-14 25 views
0

ここに、ユーザーの入力を求めるコードスニペットがあります。問題は、今月の評価​​です。現在の月が入力されている場合、gooddateは0になるはずです。何らかの理由で、それらは等しいと評価されません。私は文字列と同様に変数の整数を作成しようとしましたが、何らかの理由で08が今月の08と等しくありません。十分に明確でない場合は教えてください。値が等しくない場合

#!/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

を問題は、最後の2行目のインデントを忘れているようです:gooddate1 = 1。今のところgooddate1は0の代わりに1になります。

==を使用できます。 if month == x[0]は、文字列を比較するうまい方法です。

+0

不適切な押し込みが問題の原因となりました。誰もが助けてくれてありがとう。私はPythonで非常に新しく、ちょうど学び始めます。 – backspin

0

Pythonでの文字列の比較は、あなたが行ったこと(if month == x[0])ほど簡単ではありません。しかし、あなたは回避策として、キーワードinでそれを行うことができます。

if month in x[0]: 
    gooddate1 = 0 

(とあなたがインデックスにあなたのgooddate1を持って、それ以外の場合はelse場合にはない、とgooddateは常に1になります)

+0

実際、それは簡単です。 'x [0]'の月が '' month == x [0] 'と非常に異なる場合 – Adam

+0

ああ、そうだよ。問題は間違った字下げでしかない。 – acknowledge

関連する問題