小编use*_*661的帖子

为什么我的深度优先搜索实施被破坏了

我一直在尝试实现深度优先搜索的不同方法.我找到了一些工作方法,但它们涉及一些相当繁琐的字典工作.我使用列表开发了一个新想法,但此实现返回的操作与所需的结果不匹配.我会尝试尽可能清楚地评论代码:

start = problem.getStartState()            ## returns an (x, y) tuple
children = problem.getSuccessors(start)    ##returns the children of a parent node in ((start                  
                                           state), action, cost) format. 
stack = Stack()                            ##creates a Stack (LIFO) data structure
visited = []                               ##list of visited nodes
visited.append(start)
for child in children:
    stack.push((child, [], [], 0))         ##push children to fringe in the format of (child,
    while stack:                           ##path taken, actions taken, cost) 
        parent = stack.pop()
        node = parent[0]
        if parent[0] in visited: continue
        visited.append(parent[0])
        path …
Run Code Online (Sandbox Code Playgroud)

python algorithm depth-first-search

3
推荐指数
1
解决办法
9315
查看次数

使用 Cron 从其目录运行程序

我在使用 UNIX 的 OSX 机器上。我有一个 Python 程序,我想每小时运行一次,所以我在编辑器中设置了一个基本的 cron 命令:

0 * * * * python Documents/workspace/programfolder/src/ProgramToRun.py
Run Code Online (Sandbox Code Playgroud)

我还没有真正尝试过这个,因为我已经遇到了问题。我试图python Documents/workspace/programfolder/src/ProgramToRun.py从我的主目录运行该命令,但该脚本无法在其依赖的目录中找到任何文件。就好像该程序以某种方式在我的主目录中运行并且找不到它的任何依赖项。如果我cd进入程序所在的文件夹并执行 python ProgramToRun.py,它工作正常。所以我的问题是如何让 cron 处理这个程序,就像我从它的目录运行它一样?我给出的目录是否有效,或者我是否需要提供更绝对的内容,例如 /Users/MyName...等?

python unix macos

3
推荐指数
1
解决办法
2921
查看次数

在Javascript字符串文字中解释HTML标记

我做了一个AJAX调用,它给了我一个JSON对象中的字符串,其中包含如下格式的文本:

Your girl was in Berkeley with a communist reader. <br> Mine was entombed within boombox and walkman. <br> I was a hoarder, but girl, that was back then. <br> The gloves are off, the wisdom teeth are out. <br> What you on about? <br> I can feel it in my bones. <br> I can feel it in my bones. <br> I'm stronger now, I'm ready for the house. <br> Such a modest mouse. <br> I can't do this alone. …
Run Code Online (Sandbox Code Playgroud)

html javascript json angularjs

3
推荐指数
1
解决办法
1415
查看次数

理解Python中的合并和排序算法

所以我试图在python中理解这个简单的合并和排序算法.这是代码:

def merge(left, right, lt):
    """Assumes left and right are sorted lists.

    lt defines an ordering on the elements of the lists.
    Returns a new sorted(by lt) list containing the same elements
    as (left + right) would contain.

    """
    result = []
    i,j = 0, 0
    while i < len(left) and j < len(right):
       if lt(left[i], right[j]):
            result.append(left[i])
            i += 1
        else:
            result.append(right[j])
            j += 1
        while (i < len(left)):
            result.append(left[i])
            i += 1
        while (j < len(right)):
            result.append(right[j])
            j …
Run Code Online (Sandbox Code Playgroud)

python algorithm

2
推荐指数
1
解决办法
738
查看次数

使用比较运算符表示十六进制值

我想创建一个函数,只有在十六进制值表示大写或小写字母时,即当十六进制代码在20和7A之间时才执行某个任务.有没有办法在python中创建一个逻辑等效于:

if a >= 20 and a <= 7A: perform stuff
Run Code Online (Sandbox Code Playgroud)

?我只是在它前面抛出一个0x并且魔法发生了吗?

python comparison hex

2
推荐指数
1
解决办法
9791
查看次数

在Javascript中调试Spotify应用程序 - 必须有更好的方法

我的网站上是否有某种Spotify开发者工具包?开发人员文档建议,为Spotify开发获取工具"就像下载Spotify桌面客户端一样简单".

但是,为了运行Spotify API,我需要使用Spotify运行我的应用程序,这意味着在Spotify客户端中打开它.这也意味着用Firefox之类的东西打开它是不可能的.因此,我的应用程序的唯一视图是Spotify应用程序视图,它不提供调试功能甚至任何编译器级错误处理.如果我搞砸了仍然允许应用程序运行的代码的一小部分,我没有警告也没有错误.此外,每次我对应用程序进行更改时,我都必须重新启动Spotify.

如果我尝试使用像Firefox这样的调试器打开它,调试器将不会超过第一行代码,因为getSpotifyApi(1)在Spotify之外没有任何意义.有什么建议?

javascript spotify

2
推荐指数
1
解决办法
1617
查看次数

防守编程或浪费时间?

这个问题的一般要点是:如果甚至有可能出现问题的可能性很小,我应该抓住可能的错误吗?特别:

我有一个应用程序,可以读取和写入程序的先前历史记录到.txt文件.在初始化时,程序读取历史文件以确定它应该和不应该执行的操作.如果尚未存在历史文件,则会创建一个.像这样:

global trackList
try:
    # Open history of downloaded MP3s and transfer it to trackList
    with open('trackData.txt', 'r') as f: 
        trackrackList = f.readlines()
except Exception, e: #if file does not exist, create a blank new one
    with open('trackData.txt', 'w') as f:
        f.write("")
Run Code Online (Sandbox Code Playgroud)

程序然后根据它们是否在txt文件中继续下载MP3 .下载MP3后,会将其添加到txt文件中.像这样:

mp3File = requests.get(linkURL)
with open('trackData.txt', 'a') as f:
    f.write(linkURL + '\n')
Run Code Online (Sandbox Code Playgroud)

现在,几乎100%肯定txt文件将保留自第一个函数中创建的时间.我们正在处理下载一些MP3 - 程序将永远不会运行超过几分钟.但是,存在远程可能性,txt用户删除了历史文件,或者在下载MP3时损坏了历史文件,在这种情况下,由于没有错误处理,程序将崩溃.

一个优秀的程序员try ... except是否会在创建历史txt文件的块中包装最后一段代码(如果它不存在),或者只是不必要的偏执和浪费的空间?实现它是微不足道的,但请记住,我有这样的程序,用户可以在很短的时间内删除/破坏以前创建的txt文件.我平常的Python代码将变成嵌套的try ... except雷区.

python

2
推荐指数
2
解决办法
407
查看次数

添加,不覆盖模板块

我在一个简单的博客引擎的Django模板中有一段代码:

    {% block mainLeft %}
    <section class="container" id="main">
        <section class="offset1 span8" id="mainLeft">
        </section>
    {% endblock %}
Run Code Online (Sandbox Code Playgroud)

#mainleft不同模板的部分中添加内容的正确方法是什么?例如,如果我想根据从上下文传入的信息在section标签内动态生成div.

python django

2
推荐指数
1
解决办法
44
查看次数

ng-click在ng-include内部不起作用

我有一个通过ng-include链接到组件的网站:

<div id="tracklist">
  <ng-include src="'partials/tracks.html'">
  </ng-include>
</div>
Run Code Online (Sandbox Code Playgroud)

部分看起来像这样:

<div ng-controller="TracklistController">
  <div ng-repeat="track in tracks">
    <a ng-click="$('body').css('background-color', 'red')" href="#/tracks/{{ track.id  }}" class="track-link" data-audio-source="{{ track.source }}">{{ track.trackNumber + " - " + track.title  }}</a>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

它可以正常工作,但由于某种原因我的ng-click事件不会触发。请注意,更改主体背景颜色只是一项显而易见的测试,以查看其是否失败。我已经用我的实际功能(目前在文档加载时全局声明)进行了尝试,并且还对console.log进行了测试。它们均无效,因此很明显ng-click无效。有任何想法吗?

angularjs

2
推荐指数
1
解决办法
3502
查看次数

在没有CORS头的情况下,Access-Control-Allow-Origin不允许处理Origin http:// localhost

所以我有一个简单的getJSON()函数:

            $.getJSON(apiURL, function(data) {
                 console.log('success');
                if (data.results.length > 0) {
                    $(song).find('source').attr('src', data.results[0].previewUrl);
                    song.play();
                }
                else {
                    console.log('No match found for track information specified.');
                }
            });
Run Code Online (Sandbox Code Playgroud)

apiURL是一个itunes API网址,定义如下:

            var apiURL =" https://itunes.apple.com/search" +
                "?term=" + artist + "+" + album + "+" + title +·
                "&media=music&entity=musicTrack&callback=?";
Run Code Online (Sandbox Code Playgroud)

Access-Control-Allow-Origin错误不允许我使用经典的Origin localhost.我已经挖了一些这方面的答案,他们通常可以归结为使用$ .ajax并将dataType设置为'jsonp',或者使用.getJSON并提供'callback =?' URL的参数,我在上面尝试过.这些似乎都没有工作,我听到他们可能已经过时的隆隆声.处理这个问题的最新,最新建议是什么?除了收集服务器上的数据.

javascript ajax jquery json

2
推荐指数
1
解决办法
3551
查看次数