2017-08-14 45 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

相关问题