小编Bla*_*Hat的帖子

了解Popen.communicate

我有一个名为的脚本1st.py,它创建了一个REPL(read-eval-print-loop):

print "Something to print"
while True:
    r = raw_input()
    if r == 'n':
        print "exiting"
        break
    else:
        print "continuing"
Run Code Online (Sandbox Code Playgroud)

然后我1st.py使用以下代码启动:

p = subprocess.Popen(["python","1st.py"], stdin=PIPE, stdout=PIPE)
Run Code Online (Sandbox Code Playgroud)

然后尝试了这个:

print p.communicate()[0]
Run Code Online (Sandbox Code Playgroud)

它失败了,提供了这个追溯:

Traceback (most recent call last):
  File "1st.py", line 3, in <module>
    r = raw_input()
EOFError: EOF when reading a line
Run Code Online (Sandbox Code Playgroud)

你能解释一下这里发生了什么吗?当我使用时p.stdout.read(),它会永远挂起.

python subprocess communicate

56
推荐指数
2
解决办法
15万
查看次数

间隔列表中非重叠区间范围的最大总和

有人问我这个问题:
给你一个间隔清单.您必须设计一种算法来查找非重叠区间的序列,以便区间范围的总和最大.

例如:
如果给定的间隔是:

["06:00","08:30"],
["09:00","11:00"],
["08:00","09:00"],
["09:00","11:30"],
["10:30","14:00"],
["12:00","14:00"]
Run Code Online (Sandbox Code Playgroud)

三个间隔时范围最大化

[“06:00”, “08:30”],
[“09:00”, “11:30”],
[“12:00”, “14:00”],
Run Code Online (Sandbox Code Playgroud)

被选中.

因此,答案是420(分钟).

algorithm dynamic-programming greedy intervals

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