扫描列表中的一系列条件

时间:2015-10-29 13:51:25

标签: python search conditional-statements limits

有元素:

  • 数据清单:L
  • 目标价值:目标
  • 界限:#正数
  • 方法:返回列表的search_combination(data,target)

我希望将这些放在一个反复调用search_combination的方法中,并在满足条件时返回该方法的结果。 new方法首先在search_combination中尝试“target”(如果满足条件则返回结果),然后尝试target + -range(bound)并返回条件最近目标的值。 主要问题是制作用于尝试目标+ -range(绑定)的代码。

这是我的主题:

def main(data,target,bound):
    result=search_combination(data,target)
    if result !=[]: #condition is met
       return [result,target]
    else:
       for i in range(bound):
           temp=i
           result=search_combination(data,target+temp)
           if result !=[]:
              temp=target+temp
              break
           result=search_combination(data,target-temp)
           if result !=[]:
              temp=target-temp
              break
       return [result,temp]

这段代码怎么能更好?

1 个答案:

答案 0 :(得分:0)

如果你试图替换+/-,你可以做这样的事情

#ifndef PROVEDORIMAGEM_H
#define PROVEDORIMAGEM_H

#include <QObject>
#include <QImage>
#include <QQuickImageProvider>

class provedorImagem : public QObject, public QQuickImageProvider
{
    Q_OBJECT

public:
    provedorImagem();

    QImage requestImage(const QString &id, QSize *size, const QSize &requestedSize);

public slots:
    void carregaImagem(QImage imagemRecebida);

private:
    QImage imagem;
};

#endif // PROVEDORIMAGEM_H