杜郎俊赏 - dujun.io

Python对话框试炼:短信轰炸机

在论坛看到消息,PyS60更新到1.4.3了,迅猛跟进,下载安装。仔细看了文档,发现messaging模块有更新,也因此终于知道发送中文短信时出现乱码问题的解决办法。以下作分享: 参考示例代码: # -*- coding: utf-8 -*- import messaging messaging.sms_send("137****3024", "测试中文短信".decode('utf-8'), "UCS2")

2007-09-16

Python五作:模拟人工解法计算数独

53封面
[附件] 程序说明 本程序根据用户输入的谜局,计算出解决方法。 注意:目前只能解决可以用唯一候选数法解决的数独谜局。 操作说明 按行输入谜局,空格用英文或数字状态下的空格,或者数字0来输入。每行输入完后按回车。 例如要输入以下这个谜局: 则按行输入: (以数字 0 隔开,方便看清间隔,不容易填错) 305008004 009601070 007200069 030509040 086002750 020800010 650007400 070406500 400300607 (或以空格隔开,把上面的“0”用“ ”代替) 相关配置 我在6670上完美运行,如果你无法正常运行,可以考虑安装如下相关软件(选择你自己手机版本的平台) 我的机型是诺基亚6670,Python平台环境如下: PythonForS60_1_4_0_2ndEd PythonScriptShell_1_4_0_2ndEd...

2007-09-15

Python第四作:经典猜数字

[附件] 程序说明 本游戏模拟经典猜数字。玩过“文曲星”等电子产品的人不会不知道,不在此赘述了。 操作说明 我将这个游戏设置两种模式:自由模式(FREE PLAY)和计数模式(DEATH COUNT),在游戏一开始选择。自由模式没有猜测次数限制,只会提示已猜的次数;计数模式只有10次猜测机会。 Wrong number的数字表示:一次猜测中错误的数字个数 Wrong position的数字表示:一次猜测中,数字对了但是位置不对的个数 相关配置 我在6670上完美运行,如果你无法正常运行,可以考虑安装如下相关软件(选择你自己手机版本的平台) 我的机型是诺基亚6670,Python平台环境如下: PythonForS60_1_4_0_2ndEd PythonScriptShell_1_4_0_2ndEd Ped_1.67_2ndEd 四作手记 这一次编这个py程序的动机是。。。在某“知名”手机相...

2007-09-06

Python试炼第三发:数图狂拼

[附件] 程序说明 本程序是一个数字拼图类游戏,我自认为它已经足够成熟和完善,值得一玩! 多达15K的代码量!你既然进来了一定要下,下了一定要顶!只有得到你的支持,我才有动力去创造更棒的程序!这是我第三个py作品,是我到目前为止的得意之作,也希望得到大家的肯定。 本游戏的规则和一般的拼图类游戏一样,就是按顺序把图拼好,对于数字拼图来说就是将数字从上到下、从左到右按数字从小到大排列好。规则简单,但是在玩法上我做了别出新裁的创新(至少我本人没有在网上或者其他任何地方看到过这种玩法)。一般常见的拼图游戏,都是用方向键或者2、8、4、6来控制方块的移动,而且是“所见即所得”模式,即按下控制键以后,方块就马上朝那个方向移动。而我将玩法设计成“连击”模式,即连续输入方向指令,按确定之后再移动。方向指令是常规的2(向上)、8(向下)、4(向左)、6(向右)。同时可以在要求输入方向指令的时候输入0退出游戏。 我将这...

2007-09-03

Python试炼第二发:数字读心术

[附件] 程序说明 本程序是一个简单的趣味程序。 程序开始前,你要从1到9这九个数字中挑选一个数字,默记它。然后程序会通过两轮询问来猜出那个数字。 出现输入提示时,输入 y(表示:yes,是)或者 n(表示:no,否),然后按确定。 相关配置 我在6670上完美运行,如果你无法正常运行,可以考虑安装如下相关软件(选择你自己手机版本的平台) 我的机型是诺基亚6670,Python平台环境如下: PythonForS60_1_4_0_2ndEd PythonScriptShell_1_4_0_2ndEd Ped_1.67_2ndEd 上面两个是最新的官方版本,第三个是py编辑器,在论坛里就有下载。 二炼手记 这个py程序,非常地简单,它唯一可贵的地方就是——它同样是我在手机上编写完成的⋯⋯ 但是比起我“浩瀚”艰辛的第一个py作品,它也就不算什么了,因为完全没有编程障碍了,只是这个折磨人的手机输入⋯⋯ 这...

2007-09-02

代理网络地址整理 [C++程序]

48封面
[附件] 编程目的 因故,需要使用代理才能上某网站。外国网站有很多提供代理地址列表,但都是嵌在网页里面,如果全选复制的话,并不是浏览器的代理地址书写格式,比如The World。如果一个一个复制粘贴,太累了,不能选中其他字符,鼠标拖选操作繁琐,而且代理地址本身也需要逐一测试。于是我编写这个程序,从文本中揪出代理地址,并按端口排序,输出到一个文本。把这个文本内容全选复制,然后粘贴到The World的代理设置列表中,就搞定了。其他IE外壳浏览器和FireFox都未测试。 程序说明 本程序与前作“Email地址整理”功能类似,可以从杂乱文本中揪出代理地址,但是我还加了一个排序功能。 运行实例 整理前 整理前的文本,它测试了两种情况: 代理地址夹在其他字符(汉字)中; 出现非IP串的代理地址。 整理后 揪出并整理好了所有地址,非IP串地址被过滤。 附件说明 RUN.exe是程序,点击它运行 incomin...

2007-09-01

Email地址整理 [C++程序]

47封面
[附件] 编程目的 我打算群发一份邮件,但是并没有保存邮件地址通讯录,163邮箱要求的群发格式是用半角逗号将多个信箱隔开,并且不应该有其他字符(大部分电子邮局好像都是如此规定)。我以前用文本文件存着一份朋友通讯录,但是随意记录的,邮箱地址很凌乱,并且是夹在一堆汉字中。为此编写这个程序来完成整理工作,并为我自动加上半角逗号相隔。我只要从整理结果中复制过来粘贴到群发栏就行了。 程序说明 本程序可以将一个杂乱文本中的Email地址整理出来,并保存为另外一份清晰罗列的文件。同时,地址可以追加累积,并将最新加入的地址存为单独一份文件。 演示 整理前 这个文本中给出了一些可能的测试情况: 出现乱码; Email地址夹在非正常字符中; 出现重复的地址。 整理后 揪出并整理好了所有地址,注意重复的那个地址只记录了一次 附件说明 程序文件 Email.exe。 Myemails.txt中记录着要排除的地址,也就是当要...

2007-08-31

大蟒蛇初炼手记 [附源码]

在论坛看到消息,PyS60更新到1.4.3了,迅猛跟进,下载安装。仔细看了文档,发现messaging模块有更新,也因此终于知道发送中文短信时出现乱码问题的解决办法。以下作分享: 参考示例代码: # -*- coding: utf-8 -*- import messaging messaging.sms_send("137****3024", "测试中文短信".decode('utf-8'), "UCS2")

2007-08-29

挑战Best Calc之超级阶乘

44封面
[附件] 编程目的 诺基亚自带的计算器,功能低级地弱智,所以网上流传着不少计算器软件。其中Best Calc(百事计算器)是很不错的一款,基本模拟了市面上常见的科学计算器真机。不过反过来说,它很好地模拟了其功能,也很遗憾地接受了其硬件缺憾。这次我想将Best Calc的阶乘运算功能,用电脑发挥到极致。 知识回顾 一个整数的阶乘是,从1×2×3×4×……一直乘到其本身之积。并且默认0的阶乘为1,1的阶乘为1。 技术说明 科学计算器真机的阶乘上限是 69!,以科学计数法表示,可显示 8 位数字。Best Calc的阶乘上限是 99!,以科学技术发表示,可显示 11 位数字。 本程序理论阶乘上限是 214769! , 显示全部数字,并且保存至 result.txt 文件中,可在当前目录找到。为了视野更清晰,末尾的0(4个为一组),只显示个数。 顺便提一下,214769!是多大呢?我不知道,因为不可能等到运...

2007-08-24

高精度求商

43封面
[附件] 编程目的 闲来无事,我看了一下存储,手机已用5872K,存储卡已用96756K。脑中冒出一个无聊的问题,大家都知道要珍惜手机存储容量,那么我的存储卡已用是手机已用的多少倍呢?拿来手头的科学计算器一算,结果是:16.47752044,明显不是精确结果。又用windows自带的计算器软件算,结果是16.477520435967302452316076294278,肯定还不是最终结果。于是我就无聊地想知道最精确的结果,自己手算是不可能的,我这么懒的人……于是就编了这么一个程序。 这个程序可以将两个整数相除以最简分数和小数形式给出结果。小数会判断是有尽小数还是循环小数,并指出循环节。可以保证精确到小数点后万位左右,我只测试了几组测试数据,我想不出循环节变态到小数点后一万位的测试数据,但是即便有,也只需修改程序开头的数组大小就能扩大精确度。读者请参考附带的源码自己修正。 知识回顾 两个有理数相除(除...

2007-08-24

分页: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71