【What if 系列】恼人的键盘

2023-10-21 11:10
文章标签 系列 键盘 恼人

本文主要是介绍【What if 系列】恼人的键盘,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

提问:

在一些老式的手机上输入一个英语字母时我需要按很多次同样的数字键,比如要打出“Y”我需要按3次数字9。一些单词有连续好几个字母都在同一个数字键上,因而每打完一个字母你都要等一小会儿才能输入下一个字母,这让打字变成一件恼人的事情。所以我想问的是有哪个英语单词有连续最多的字母在同一个数字键上?

—— Stewart Bishop

回答:


我们可以用下面这段让人头疼的Shell指令来回答你这个问题,这段代码能在给定的单词列表中找出所有有连续字母在同一个数字键上的单词:

cat wordlist.txt | perl -pe 's/^(.*)$/L$&U$&/g' | 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' '2223334445556667777888999' | grep -P "(.)11111"

根据这段代码跑出来的结果,nonmonogamous是最让人头疼的单词,因为它有连续七个字母(nonmono)在数字键6上。[1]

九宫格键盘

很少有单词所有的字母都在一个按键上;常见的单词中最长的也就几个字母。[2]不过如果只用这些单词的话,我们可以写出像“电视上的高清MMO游戏(a high def MMO on TV)”这样的每个单词所有字母都在一个按键上的短语。

16110351_z4ua.gif

(再让我看一个小时)

当然了这种短语还有许多,虽然其中一些需要一些想象力:

16110352_PPcM.gif

这种恼人的输入困难并不局限于九宫格键盘上。对于任何输入系统,你总能找到很难输入的短语。

QWERTY键盘

单词极客们都知道在QWERTY键盘上只有左手可以打出的最长的单词是“stewardesses”。

事实上,只用左手打出完整的句子也是可以做到的。比如这句话:我们在一个秘密星际争霸聚会预定了座位(We reserved seats at a secret Starcraft fest)。很神奇,是不是?

如果你施加不同的限制条件,在一些看上去更加脏乱差的shell指令和Python代码[3]的帮助下你还能找出更多的例子:

只用左手

16110352_daZW.gif

(值了)

16110353_FTrM.gif

(与在你附近的单身雪貂会面吧)

只用右手

16110353_FBvq.gif

(你何来的勇气?)

16110354_66t4.gif

只用中间一行键盘

16110354_MaAg.gif

(他看了一眼硬盘里的内容,立刻就挂了)

16110354_qP0L.gif

(但是她还是很不错!)

16110355_x33x.gif

(其实是薯片)

只用最上面一行键盘

16110356_OW3r.gif

(我们还带了牛奶!)

16110357_oquo.gif

(悲剧之处在于诗集其实挺不错的)

最后,如果有人问你为什么在社交媒体上不更活跃点,你可以很酷地告诉他们你“人见人爱花见花开(too pretty to tweet,只用了最上面一行键盘)”

16110357_e1CY.gif

  • 注1:当然了如果你选取一些生僻词的话可能会有比这更长的满足条件的单词,只不过我用的单词表里没有而已。
  • 注2:比如“tutu”这个单词
  • 注3:我是用程序在文本日志里找出满足一定条件的文字片段,然后用“马尔可夫链”方法把它们随机连起来。我的代码在这里可以看到。
版权声明:
本译文仅用于学习和交流目的。非商业转载请注明译者、出处,并保留文章在译言的完整链接。
  • 原文来源:what-if.xkcd.com
  • 原文标题:Phone Keypad
  • 原文地址:http://what-if.xkcd.com/75/

转载于:https://my.oschina.net/kiwivip/blog/184708

这篇关于【What if 系列】恼人的键盘的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/254022

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0

键盘快捷键:提高工作效率与电脑操作的利器

键盘快捷键:提高工作效率与电脑操作的利器 在数字化时代,键盘快捷键成为了提高工作效率和优化电脑操作的重要工具。无论是日常办公、图像编辑、编程开发,还是游戏娱乐,掌握键盘快捷键都能带来极大的便利。本文将详细介绍键盘快捷键的概念、重要性、以及在不同应用场景中的具体应用。 什么是键盘快捷键? 键盘快捷键,也称为热键或快捷键,是指通过按下键盘上的一组键来完成特定命令或操作的方式。这些快捷键通常涉及同

GPT系列之:GPT-1,GPT-2,GPT-3详细解读

一、GPT1 论文:Improving Language Understanding by Generative Pre-Training 链接:https://cdn.openai.com/research-covers/languageunsupervised/language_understanding_paper.pdf 启发点:生成loss和微调loss同时作用,让下游任务来适应预训

Java基础回顾系列-第七天-高级编程之IO

Java基础回顾系列-第七天-高级编程之IO 文件操作字节流与字符流OutputStream字节输出流FileOutputStream InputStream字节输入流FileInputStream Writer字符输出流FileWriter Reader字符输入流字节流与字符流的区别转换流InputStreamReaderOutputStreamWriter 文件复制 字符编码内存操作流(

Java基础回顾系列-第五天-高级编程之API类库

Java基础回顾系列-第五天-高级编程之API类库 Java基础类库StringBufferStringBuilderStringCharSequence接口AutoCloseable接口RuntimeSystemCleaner对象克隆 数字操作类Math数学计算类Random随机数生成类BigInteger/BigDecimal大数字操作类 日期操作类DateSimpleDateForma

Java基础回顾系列-第三天-Lambda表达式

Java基础回顾系列-第三天-Lambda表达式 Lambda表达式方法引用引用静态方法引用实例化对象的方法引用特定类型的方法引用构造方法 内建函数式接口Function基础接口DoubleToIntFunction 类型转换接口Consumer消费型函数式接口Supplier供给型函数式接口Predicate断言型函数式接口 Stream API 该篇博文需重点了解:内建函数式

Java基础回顾系列-第二天-面向对象编程

面向对象编程 Java类核心开发结构面向对象封装继承多态 抽象类abstract接口interface抽象类与接口的区别深入分析类与对象内存分析 继承extends重写(Override)与重载(Overload)重写(Override)重载(Overload)重写与重载之间的区别总结 this关键字static关键字static变量static方法static代码块 代码块String类特