if if statement vs if else

时间:2016-05-11 13:54:48

标签: python if-statement

我一直在玩泰坦尼克号数据并在下面尝试了一个简单的if语句,没有"否则":

if passenger.gender == 'female':
    predict[passenger_numberId] = 1
predict[passenger_numberId] = 0

我的代码运行正常,我的准确率为63%。当我使用" if else"修改语句时,准确度会提高,但我不明白为什么添加else与上面的简单语句不同,后面的链接是每个链接:http://anh.cs.luc.edu/python/hands-on/3.1/handsonHtml/ifstatements.html

if passenger.gender == 'female':
   predict[passenger_numberId] = 1
else:
    predict[passenger_numberId] = 0

我错过了什么?

2 个答案:

答案 0 :(得分:2)

根据您的if测试,会发生以下两种情况之一:

  • 您将predict[passenger_numberId]设置为1 首先,然后立即,将其设置为0
  • 您将predict[passenger_numberId]设置为0

因此,如果没有else语句,您总是predict[passenger_numberId]设置为0,而passenger.gender == 'female'的结果实际上并不重要1}}测试是。

else测试没有通过时predict[passenger_numberId] 设置0if1当它确实通过时。

换句话说,通过使用else,您的代码现在采用两个路径中的一个,并且结果根据路径的选择而不同。如果没有else,则无论测试结果如何,该值始终设置为0

答案 1 :(得分:0)

它始终将预测设置为0,因为没有别的。准确性应该告诉你,37%是女性。