小编iCo*_*dez的帖子

无法从程序集加载"SlowCheetah.Xdt.TransformXml"任务

在我的解决方案中将Slow Cheeath(v.2.5.10.3)安装到两个项目之后,我收到以下错误:

"The "SlowCheetah.Xdt.TransformXml" task could not be loaded from the assembly C:\Users
\User\AppData\Local\Microsoft\MSBuild\SlowCheetah\v2.5.10.2\SlowCheetah.Xdt.dll. Could 
not load file or assembly 'file:///C:\Users\User\AppData\Local\Microsoft\MSBuild
\SlowCheetah\v2.5.10.2\SlowCheetah.Xdt.dll' or one of its dependencies. The system cannot 
find the file specified. Confirm that the <UsingTask> declaration is correct, that the 
assembly and all its dependencies are available, and that the task contains a public 
class that implements Microsoft.Build.Framework.ITask.  ISA.IMPD.FalseAlarm.Web.Portal"
Run Code Online (Sandbox Code Playgroud)

我已完全删除了两个项目(与Slow Cheetah一起),重新安装了两个项目(以及Slow Cheetah),并重建解决方案无济于事.任何人都可以帮助解决这类错误吗?

dependencies assembly-resolution nuget-package slowcheetah visual-studio-2012

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

如何查找字符串的不同子序列的数量?

这是另一个问题,询问如何找到字符串的不同子序列的数量?

例如,

输入
AAA
ABCDEFG
CODECRAFT

输出
4
128
496

我怎么解决这个问题 ?

string algorithm dynamic-programming

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

Fibonacci系列的有效计算

我正在研究一个Project Euler问题:关于偶数Fibonacci数的总和问题.

我的代码:

def Fibonacci(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    else:
        return Fibonacci(n-1) + Fibonacci(n-2)

list1 = [x for x in range(39)]
list2 = [i for i in list1 if Fibonacci(i) % 2 == 0]
Run Code Online (Sandbox Code Playgroud)

通过打印sum(list2)可以很容易地找到问题的解决方案.但是,我猜测它需要花费大量时间来提出list2.有没有办法让这更快?或者这样就可以了......

(问题:通过考虑Fibonacci序列中的值不超过四百万的项,找到偶数项的总和.)

python algorithm performance fibonacci

38
推荐指数
5
解决办法
6万
查看次数

python使用any()和all()来检查列表是否包含一组值或另一组

我的代码用于Tic Tac Toe游戏并检查绘制状态,但我认为这个问题在一般意义上可能更有用.

我有一个代表董事会的清单,它看起来像这样:

board = [1,2,3,4,5,6,7,8,9]
Run Code Online (Sandbox Code Playgroud)

当一个玩家移动时,他们移动的int被替换为他们的标记('x'或'o'),我已经有检查到位以寻找获胜状态,我不能做的是检查抽签state,其中没有列表值是整数但是尚未设置获胜状态.

我到目前为止的代码:

if any(board) != playerOne or any(board) != playerTwo:
    print 'continue'
elif all(board) == playerOne or playerTwo:
    print 'Draw'
Run Code Online (Sandbox Code Playgroud)

if语句有效,elif没有,我认为问题是我的'或'运算符,我要检查的是:如果主板上的每个项目都是playerOne标记或playerTwo标记,如果我在哪里做码:

elif all(board) == playerOne or all(board) == playerTwo:
Run Code Online (Sandbox Code Playgroud)

我会检查看板上的每个位置是否为playerOne或者板上的每个位置都是playerTwo,它不会.

那么如何通过playerOne标记和playerTwo标记的组合来检查棋盘是否被占用?

python list

32
推荐指数
1
解决办法
6万
查看次数

通过IPython使用Jython:readline仍然是个问题吗?

我想在IPython中使用Jython解释器,这样我就可以使用像tab完成的东西,也许还可以使用IPython笔记本.该IPython的常见问题现场周围,这是否是可能的步骤.我有两个问题:

  1. 说Jython 可以与IPython一起工作:我如何实际将它们绑在一起?当我执行时$ ipython,我正在运行Python解释器.如何设置IPython以便运行Jython解释器?

  2. 即使我知道如何做#1,我也一直在搜索,似乎让Jython与IPython合作的努力已经被淘汰,可能是因为常见问题解答网站上提到的readline问题.但是,搜索显示readline应该在Jython中工作; 看看jython wiki.所以,这里的问题是:如果某种readline功能可用,现在可以在IPython中使用Jython吗?

python jython ipython

31
推荐指数
1
解决办法
2678
查看次数

在.NET中使用令人难以置信的大数字

我正在尝试解决projecteuler.net上的问题,但我一直遇到一些问题.

第一个是存储大量元素的问题List<t>.在列表中存储大量数据时,我一直收到OutOfMemoryException.

现在我承认我可能没有以最好的方式做这些事情但是,有没有办法定义应用程序可以消耗多少内存?

当我满足100,000,000个元素时,它通常会崩溃:S

其次,一些问题需要增加大量数字.我使用ulong数据类型,我认为这个数字会变得非常大,但我仍然设法绕过最大的受支持的int并进入负数.

你有任何使用难以置信的大数字的技巧吗?

.net c# largenumber biginteger

30
推荐指数
3
解决办法
5万
查看次数

time.time vs. timeit.timeit

有时,我喜欢计算运行代码的部分时间.我已经检查了很多在线网站,并且已经看到了两种主要方法.一个是使用time.time,另一个是使用timeit.timeit.

所以,我写了一个非常简单的脚本来比较两者:

from timeit import timeit
from time import time
start = time()
for i in range(100): print('ABC')
print(time()-start, timeit("for i in range(100): print('ABC')", number=1))
Run Code Online (Sandbox Code Playgroud)

基本上,它计算在for循环中打印"ABC"100次所需的时间.左边的数字是结果,time.time右边的数字是timeit.timeit:

# First run
0.0 0.012654680972022981
# Second run
0.031000137329101562 0.012747430190149865
# Another run
0.0 0.011262325239660349
# Another run
0.016000032424926758 0.012740166697164025
# Another run
0.016000032424926758 0.0440628627381413
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,有时候,time.time更快,有时速度更慢.哪种方式更好(更准确)?

python performance time python-3.x

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

Minesweeper大师来自Google Code Jam(2014)资格赛

这是来自Google Code Jam资格回合的问题(现已结束).如何解决这个问题呢?

注意:如果您的方法与答案中讨论的方法不同,请分享,以便我们扩展我们对解决此问题的不同方法的了解.

问题陈述:

扫雷是一种计算机游戏,在20世纪80年代开始流行,并且仍然包含在某些版本的Microsoft Windows操作系统中.这个问题有类似的想法,但它并不假设你玩过扫雷.

在这个问题中,您正在相同单元格的网格上玩游戏.最初隐藏每个单元格的内容.在M个不同的网格单元中隐藏着M个矿井.没有其他细胞包含地雷.您可以单击任何单元格以显示它.如果揭示的细胞包含一个矿,那么游戏就结束了,你输了.否则,显示的单元格将包含0到8之间的数字(包括0和8),这对应于包含地雷的相邻单元格的数量.如果两个单元共享一个角或边,则它们是邻居.另外,如果显示的单元格包含0,那么所揭示的单元格的所有邻居也会以递归方式自动显示.当所有不包含地雷的细胞都被揭露时,游戏结束,你就赢了.

例如,电路板的初始配置可能如下所示('*'表示我的,而'c'是第一个单击的单元格):

*..*...**.
....*.....
..c..*....
........*.
..........
Run Code Online (Sandbox Code Playgroud)

点击的单元格旁边没有地雷,因此当它被显示时,它变为0,并且它的8个相邻单元也被显示出来.此过程继续,导致以下板:

*..*...**.
1112*.....
00012*....
00001111*.
00000001..
Run Code Online (Sandbox Code Playgroud)

此时,仍有未显示的单元格不包含地雷(用'.'字符表示),因此玩家必须再次点击才能继续游戏.

你想尽快赢得比赛.没有什么比单击赢得更快.考虑到电路板的尺寸(R x C)和隐藏的地雷M的数量,是否有可能(但不太可能)一键获胜?您可以选择单击的位置.如果可能,则按照"输出"部分中的规范打印任何有效的矿井配置和点击坐标.否则,打印"不可能".

我试过的解决方案:

因此,对于解决方案,您需要确保每个非采矿节点与其他非采矿节点处于3x3矩阵中,或者如果节点位于网格边缘,则需要3x2或2x2矩阵; 我们称之为0Matrix.因此,0Matrix中的任何节点都具有所有非矿井邻居.

首先,检查是否需要更少的地雷,或更少的空节点

if(# mines required < 1/3 of total grid size)
    // Initialize the grid to all clear nodes and populate the mines
    foreach (Node A : the set of non-mine nodes)
        foreach (Node AN : A.neighbors)
            if AN forms a OMatrix with it's neighbors, continue
            else break;
        // If we got here means …
Run Code Online (Sandbox Code Playgroud)

algorithm minesweeper

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

标识符中的字符无效

我正在处理HP代码大战2012中的信件分发问题.我一直收到一条错误消息,指出标识符中的无效字符.这意味着什么以及如何解决这个问题.这是包含信息的页面.hpcodewars.org/past/cw15/problems/2012ProblemsFinalForPrinting.pdf这里是代码

import  string

def  text_analyzer(text):
'''The text to be parsed and
the number of occurrences of the letters given back
be. Punctuation marks, and I ignore the EOF
simple. The function is thus very limited.

'''
    result =  {}

# Processing
    for  a in  string.ascii_lowercase:
    result [a] =  text.lower (). count (a)

    return  result


def  analysis_result (results):

# I look at the data
    keys =  analysis.keys ()
    values \u200b\u200b=  list(analysis.values \u200b\u200b())
    values.sort (reverse = True )

# I turn to …
Run Code Online (Sandbox Code Playgroud)

python python-3.x

27
推荐指数
3
解决办法
17万
查看次数

为什么要使用dict.keys?

我最近写了一些看起来像这样的代码:

# dct is a dictionary
if "key" in dct.keys():
Run Code Online (Sandbox Code Playgroud)

但是,我后来发现我可以用以下方法获得相同的结果:

if "key" in dct:
Run Code Online (Sandbox Code Playgroud)

这个发现让我思考,我开始运行一些测试,看看是否有必须使用keys字典方法的场景.然而,我的结论是否定的,没有.

如果我想要列表中的键,我可以这样做:

keys_list = list(dct)
Run Code Online (Sandbox Code Playgroud)

如果我想迭代键,我可以这样做:

for key in dct:
    ...
Run Code Online (Sandbox Code Playgroud)

最后,如果我想测试一个密钥是否在dct,我可以in像上面那样使用.

总而言之,我的问题是:我错过了什么吗?难道有一种场景我必须使用这个keys方法吗?...或者它只是一个应该被忽略的早期Python安装的剩余方法?

python dictionary

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