构造Python代码的最佳方法,该代码搜索字符串以查找不同的子字符串

时间:2013-02-19 22:03:21

标签: python if-statement

自从尝试学习python以来,我使用BeautifulSoup作为我的第一个项目制作足球评论刮刀。

基本上对于每个目标陈述,它可以是目标,自己的目标或惩罚,我需要在我的数据库中单独记录。

发生的问题是,有时候目标陈述包含“惩罚区”或“惩罚区”,所以我需要将这些场合记录为目标而不是惩罚。

我用大量的嵌套语句嘲笑了一些东西,但是它很脏了。

所以最初我有一些类似

的内容
if goal in statement:
   if 'own goal' in statement:
      {record own goal in db}
   elif 'penalty' in statement:
      if not 'penalty area' in statement:
          if not 'penalty box' in statement:
              {record penalty in db}
   else:
      {record goal in db}

我刚刚一起嘲笑,因为我没有代码。这是实现这一目标的唯一途径吗?

2 个答案:

答案 0 :(得分:0)

也许这更好:

   if 'goal' in statement:
       if 'own goal' in statement:
           {record own goal in db}
       elif not('penalty area' in statement or 'penalty box' in statement):
           {record goal in db}
       elif 'penalty' in statement:
           {record penalty in db}
       else:
           {record goal in db}

答案 1 :(得分:0)

要清理它,你可以结合一些逻辑语句,但除此之外我没有看到太多改进。

if 'goal' in statement:
    if 'own goal' in statement:
        {record own goal}
    elif 'penalty' in statement and not('penalty area' in statement) and not('penalty box' in statement):
        {record penalty}
    else:
        {record goal}