我8岁的侄女昨天在学校接受了摩尔斯电码的教训,她的任务是将各种短语转换成莫尔斯电码.其中一个短语包括她的年龄,而不是写作---..
,她写道,3-2.
因为(用她的话说),"这样写的不那么简单." 这个基本的"压缩算法"引起了我的好奇心,所以我写了一些代码来实现它.
但是,我们在此过程中做了一些改变.我指给她,如果你写的只是.....-----
,没有任何办法判断作者的意思50
或eeeeettttt
.实际上,每个单词的每个字母和每个单词之间都有一个暂停,所以这不是问题,但我们的方案没有那个.我拿出了一些方格纸并建议用另一个符号填充每个符号的莫尔斯码,以便于编码并消除方案中的歧义.我的好建议使用+
因为"没有人用句子写那些." (哎呀,我最近刚毕业时获得了数学学位,但还算公平.)
因为我们中的一些不带写+
,我们都使用连字符和句号/点,这与我们的摩尔斯电码标准的定义发生冲突,这些符号将被替换p
,h
和d
分别.当然,这给我们带来了如何处理未在我们扩展的摩尔斯电码中定义的符号的问题.我的侄女想要简单地忽略它们,这就是我们所做的.为了区分大小写保留文本消息,大写字母在代码中不是低位的; 它们只是按原样进行填充+
.
+
p
的+
,d
对于.
和h
为-
.在我们的算法中,"Hello,World"转换为
H++++.++++.-..+.-..+---++,+++++++++W++++---++.-.++.-..+-..++
Run Code Online (Sandbox Code Playgroud)
并压缩到
H4+.4+.-2.+.-2.+3-2+,9+W4+3-2+.-.2+.-2.+-2.2+
Run Code Online (Sandbox Code Playgroud)
这是我扔在一起的Python代码:
#!/usr/bin/python3
import itertools
import string
class MorseString(str):
def __init__(self, string):
# or, pad values during iteration but this seems neater …
Run Code Online (Sandbox Code Playgroud) 所以我在运行导入的脚本时遇到以下错误web
.
$ python bin/app.py
Traceback (most recent call last):
File "bin/app.py", line 1, in <module>
import web
ImportError: No module named web
Run Code Online (Sandbox Code Playgroud)
我尝试使用easy_install web
但得到此错误:
$ easy_install web
Searching for web
Reading http://pypi.python.org/simple/web/
Reading http://www.pythonweb.org/web/
Reading http://www.pythonweb.org/web/release/
No local packages or download links found for web
error: Could not find suitable distribution for Requirement.parse('web')
Run Code Online (Sandbox Code Playgroud)
我试过pip install web
但得到以下内容:
$ pip install web
Downloading/unpacking web
Could not find any downloads that satisfy the requirement web
No distributions …
Run Code Online (Sandbox Code Playgroud) 这是矩阵的样子:
有8列,说100行,任意行中的随机数总和为1.
.125 .125 .125 .125 ....... .125
.005 .105 .005 .205 ........ 205
.002 .003 .012.201 ....... .200
...
Matlab可以自动创建这种矩阵,即右边的随机矩阵吗?我正在寻找一个脚本.
我正在尝试使用Swing实现这种类型的菜单.有没有现成的解决方案(免费和/或商业)?
将是node.js中原始套接字的支持,例如创建ping数据包吗?
你能用SIMBL开发iPhone Safari的插件吗?
python ×2
algorithm ×1
c ×1
cocoa-touch ×1
css ×1
icons ×1
if-statement ×1
install ×1
iphone ×1
java ×1
javascript ×1
jmenu ×1
jmenuitem ×1
matlab ×1
matrix ×1
morse-code ×1
node.js ×1
pip ×1
pointers ×1
python-3.x ×1
raw-sockets ×1
safari ×1
simbl ×1
sudo ×1
swing ×1
web ×1