我有一个带有数字的文本文件,如下所示:
1231313123123123
1432423432535345
3532523452345345
1231423432453455
3434535345345345
3452353453253453
Run Code Online (Sandbox Code Playgroud)
所有的行都是相同的长度,我想计算每一行的熵,并输出为:
2.64234234
2.65464564
2.35355435
etc.
Run Code Online (Sandbox Code Playgroud)
现在有了这段代码我给了我相同的熵,我做错了什么?
谢谢.
#!/usr/bin/env python
import math
def H(data):
if not data:
return 0
entropy = 0
for x in range(256):
p_x = float(data.count(chr(x)))/len(data)
if p_x > 0:
entropy += - p_x*math.log(p_x, 2)
return entropy
failas = open('text.txt', 'r')
for row in failas:
print H('failas')
Run Code Online (Sandbox Code Playgroud) 我注意到linq和Contains方法有些奇怪.似乎对哪个Contains方法调用感到困惑.
if (myString.Contains(strVar, StringComparison.OrdinalIgnoreCase))
{
// Code here
}
Run Code Online (Sandbox Code Playgroud)
上面的代码无法编译,并出现以下错误:
无法从用法中推断出方法'System.Linq.Enumerable.Contains(System.Collections.Generic.IEnumerable,TSource,System.Collections.Generic.IEqualityComparer)'的类型参数.尝试显式指定类型参数.
如果我删除使用linq语句,它很满意包含(但刹车所有的linq代码).
告诉编译器我想使用String.Contains方法而不是Linqs的正确语法是什么?
干杯
有些浏览器会缓存js和css文件,除非你强制它们,否则无法刷新它们.什么是最简单的方法.
我刚刚实现了这个似乎有用的解决方案.
在页面上声明一个版本变量
public string version { get; set; }
Run Code Online (Sandbox Code Playgroud)
从web.config键获取版本号
version = ConfigurationManager.AppSettings["versionNumber"];
Run Code Online (Sandbox Code Playgroud)
在您的aspx页面中调用javascript和样式表就像这样
<script src="scripts/myjavascript.js?v=<%=version %>" type="text/javascript"></script>
<link href="styles/mystyle.css?v=<%=version %>" rel="stylesheet" type="text/css" />
Run Code Online (Sandbox Code Playgroud)
因此,如果您在web.config中将1.0设置为版本= 1.1,您的浏览器将下载最新文件,这有望为您和您的用户带来一些挫败感.
是否有其他解决方案更好,或者这会导致网站出现任何无法预料的问题?
我被赋予了将表单应用程序转换为WPF的任务.使用的应用程序TreeNode来自System.Windows.Forms.TreeView.我知道WPF有,TreeView但我找不到TreeNode是否有从Forms到WPF的直接转换?
有没有办法捕获查询字符串并将其作为表单帖子的一部分发送?我正在使用Rails 2.3.5,我的用户位于具有多个查询字符串参数的页面上.在此页面上,他们将提交表单.在收到帖子的动作中,我想知道那些查询字符串参数是什么.显然,他们不是作为帖子的一部分发送的.所以我需要实际的表单值,以及用户提交表单时页面上的查询字符串参数.
我确信我可以编写一些令人讨厌的javascript,它会将查询字符串params推入表单上的隐藏字段,以便它们可用,但这看起来很难看.我的谷歌搜索没有发现太多,这让我想知道我是否只是把这一切都搞错了.更糟糕的是,我是一个Rails新手.
欣赏任何指示或想法,让我朝着正确的方向前进.
我正在编写一个应用程序,要求我采用专有的位图格式(MVTec Halcon HImage)并将其转换为C#中的System.Drawing.Bitmap.
给我的唯一专有功能是帮助我这样做,这涉及到我写入文件,除了使用"获取指针"功能.
这个功能很棒,它给了我一个指向像素数据,宽度,高度和图像类型的指针.
我的问题是,当我使用构造函数创建System.Drawing.Bitmap时:
new System.Drawing.Bitmap(width, height, stride, format, scan)
Run Code Online (Sandbox Code Playgroud)
我需要指定一个4的倍数的"步幅".这可能是一个问题,因为我不确定我的函数将被命中的大小位图.假设我最终得到一个111x111像素的位图,除了在我的图像中添加一个伪列或减去3列之外,我无法运行此功能.
有没有办法可以绕过这个限制?
我正在使用OpenID.如何使用户即使关闭浏览器窗口后仍能长时间登录?
如何存储和访问用户的User对象?
基本上,我想我真的不明白会话如何在Java中运行.
根据我的理解,必须在同一个头文件中声明和定义模板类和模板函数(大多数情况下).照这样说:
除了使用特定的编译器之外,还有其他方法可以实现模板文件的单独编译吗?如果是,那是什么?
如果有的话,在同一个文件中使用声明和定义的缺点是什么?
在模板声明和定义方面,什么是最佳实践?
有很多Java wiki引擎.我目前正在寻找良好的轻量级wiki,类似Stack Overflow上的社区wiki,可以轻松集成到切除应用程序中.
我正在为我们的学生游戏编写一个粒子系统,我遇到了一些障碍.我想改善对火箭的影响,但我似乎无法弄清楚如何.
这是效果在固定船上的效果:

这是它在移动的船上的样子:

我希望火焰始终保持相同的长度.这Particle是Tick功能:
void Particle::Tick(float a_DT)
{
// temporarily turned off to see the effect of the rest of the code more clearly
//m_Pos += m_Vel;
if (m_Owner) { m_Pos += m_Owner->GetParentSpeed(); }
m_Life -= 1;
if (m_Life <= 0) { m_Alive = false; }
}
Run Code Online (Sandbox Code Playgroud)
提前致谢.
编辑:为了清理一点,我希望效果能够跟踪,但我希望它能以相同的方式跟踪,而不管发射器的速度如何.