Tag: python

除以零:int与float

将int除以零将抛出exception,但浮点数不会 – 至少在Java中。 为什么浮点数有额外的NaN信息,而int类型没有?

Mandelbrot算法 – 背景颜色

我正在用C#编写一个Mandelbrot应用程序(我正在使用Python进行测试)。 我已经拥有从集合到其边界的连续着色。 我目前的问题是设置环境的背景颜色。 我现在获取颜色的代码现在看起来像是这样,它将颜色变为双倍(对数函数在之前完成)并检查它的部分与否,并创建一个非常平滑的渐变(从黑色到橙色)。 private Color getColor(double i) { double ratio = i / (double)(iterations); int col = (int)(i / iterations * 255); int alpha = 255; if (ratio >= 0 && ratio = 0.25 && ratio = 0.50 && ratio = 0.75 && ratio < 1) return Color.FromArgb(alpha, col, col/2, 0); return Color.Black; //color […]

如何保护ZeroMQ请求回复模式以防止潜在的消息丢失?

我正在尝试在c#应用程序和分布式python服务器之间的TCP层上实现ZeroMQ模式。 我有一个使用请求 – 回复REQ/REP模式的版本,在localhost测试时看起来相对稳定。 但是,在测试中,我调试了一些情况,我在收到回复之前意外地发送了多个请求,这显然是不可接受的。 在实践中,网络可能会有大量丢弃的数据包,我怀疑我将丢弃大量的回复和/或无法发送请求。 1)有没有办法重置REQ/REP请求 – 回复套接字 之间的连接 ? REOUTER/DEALER模式会更有意义吗? 由于这是我第一次使用ZeroMQ,我希望保持简单。 2)是否有一个良好的ZeroMQ机制来处理连接事件? 我一直在阅读“指南”,有一些关于监控连接的提及,但没有例子。 我找到了ZMonitor ,但无法在c#中触发事件。

你能在UWP的C#代码中使用C ++ DLL吗?

我在Visual Studio中编写了一个C ++类库,它只定义了一个调用Python的函数: #pragma once #include extern “C” __declspec(dllexport) void python() { Py_Initialize(); PyRun_SimpleString(“2 + 2″); } 我在同一个C#Blank Universal应用程序的解决方案中创建了另一个项目。 我试图引用我提到的上一个项目生成的DLL: using System; … namespace StartupApp { … sealed partial class App : Application { private const string CPPPythonInterfaceDLL = @”pathtodll”; [DllImport(CPPPythonInterfaceDLL, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)] private static extern void python(); public static void […]

在c#中使用foreach循环时修改集合

基本上,我想在foreach循环内部从列表中删除一个项目。 我知道使用for循环时这是可能的,但出于其他目的,我想知道使用foreach循环是否可以实现这一点。 在python中,我们可以通过执行以下操作来实现此目的: a = [1, 2, 3, 4, 5, 6, 7, 8, 9] for i in a: print i if i == 1: a.pop(1) 这给出了以下输出 >>>1 3 4 5 6 7 8 9 但是当在c#中做类似的事情时,我得到一个InvalidOperationException,我想知道是否有办法解决这个问题, 而不仅仅是使用for循环 。 我抛出exception时使用的c#代码: static void Main(string[] args) { List MyList = new List(new string[] { “1”, “2”, “3”, “4”, “5”, […]

IronPython无法导入模块os

所以我有一个基本的ZIPPED IronPython(2.6或2.6.1),我只需解压缩,启动ipy.exe,输入“import os”并按Enter键。 发生以下输出: Traceback (most recent call last): File “”, line 1, in ImportError: No module named os 即使我先导入clr,它也不起作用。 怎么办? 我用谷歌搜索了这个问题,但没有相关的答案。 最接近的想法是这个(没有用): import clr clr.AddReference(“IronPython”) clr.AddReference(“IronPython.Modules”) import os

从c#(.NET)调用Python函数

我有Visual Studio 2015,我的主要表单用C#编写,从那里我有不同的用Python编写的类(普通的Python而不是Iron Python)。 如何从C#代码中调用Python函数? 我知道有很多关于此的主题但是大多数都太旧了,有些解决方案太难或者涉及使用像C ++这样的中间语言。 以下是我发现有用的一些链接,但未提供我正在搜索的答案: stackoverflow.com/questions/6624503/call-python-from-net stackoverflow.com/questions/27075671/calling-python-from-net-via-c-bridge 有一个简单的方法还是我还需要一个解决方法? 如果我需要一个解决方法,那么最简单的是什么?

Python for .NET:如何使用同一DLL的不同版本显式创建C#类的实例?

我有一个.cs文件 namespace SomeNamepace { public struct SomeStruct { …. } public static class SomeClass { …. } 到目前为止,我使用它与PythonNET一样 import clr clr.AddReference(‘c:\\Test\Module.dll’) from SomeNamepace import SomeClass, SomeStruct SomeClass.SomeMethod(…) 我现在的问题是我需要使用具有相同名称且没有设置版本号的dll,因此PythonNET不会将它们视为两个不同的dll,而是相同。 即使我使用AddReference的完整路径导入它们。 现在我想明确地使用它们,如下所述: Python for .NET:在多个版本中使用相同的.NET程序集 喜欢 lib = clr.AddReference(‘c:\\Test\Module.dll’) 我尝试了很多东西来创建SomeClass的实例 lib.SomeNamespace.SomeClass() 要么 import System System.Activator.CreateInstance(lib.GetType(‘SomeNamespace.SomeClass’)) 或使用方法Initialize或CreateInstance 或者如下面的链接中所述 from System import Type type1 = lib.GetType(‘SomeNamespace.SomeClass’) constructor1 = type1.GetConstructor(Type.EmptyTypes) […]

在C#应用程序中集成python

我有以下问题:我有一个用python编写的旧应用程序。 这个应用程序允许用户指定将执行的小python步骤,python步骤基本上是小python脚本,我称之为步骤,因为此应用程序的执行涉及其他步骤,如从命令行执行某些操作。 这些python步骤作为python代码存储在xml文件中。 现在我想使用C#.NET重写应用程序。 做这样的事情是否有最佳实践解决方案? 我不想将python作为外部程序调用并将实际的python步骤(脚本)传递给python解释器 – 我想要内置的东西。我只是遇到了IronPython和.NET python,但我不太确定使用哪一个。 我想为小脚本实现某种调试,这就是为什么调用解释器解决方案是不可接受的。 更重要的是,许多脚本已经存在。 因此,我必须使用python的C#实现,它具有与python相同的语法以及与python的libs相同的内置。 这有可能吗? 谢谢和问候Xeun

如何将python回调传递给c#函数调用

我正在尝试使用python中的C#类,在mono / ubuntu上使用python.net。 到目前为止,我设法用一个参数工作做一个简单的函数调用。 我现在要做的是将python回调传递给C#函数调用。 我在下面尝试了以下变化,没有效果。 有人可以展示如何使这项工作? // C# – testlib.cs class MC { public double method1(int n) { Console.WriteLine(“Executing method1” ); /* .. */ } public double method2(Delegate f) { Console.WriteLine(“Executing method2” ); /* … do f() at some point … */ /* also tried f.DynamicInvoke() */ Console.WriteLine(“Done executing method2” ); } } Python脚本 […]