首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将数字转换成口语中文本串

概述 今天突发奇想, 写一个数字转换成中文字符串函数. 并不是将 1234 转成 '1234' , 而是将 1234 转成 '一千二百三十四'. 本来以为很简单, 写下来之后发现还是有些坑....尝试 因为我是在写完最终版本, 回过头来整理这篇文章, 所以中间很多尝试步骤会有所遗漏. 以下简单整理一下. 如果不想看, 可以直接拉到最后, 看最终成品....数字念法: 零一二三四五六七八九 每一位都有一个对应权重: 个十百千万 所以我初步想法是, 将数字每一位都转成中文然后拼上对应权重, so easy....第二次尝试 对于654321这个数字. 十万位6没有将十万直接拼到后边, 而是和万位5连起来, 一起组成了六十五万. 再多一个数字呢? 7654321, 就应该是七百六十五万....后边怎么多了一个万? 第五次尝试 有了处理0经验, so easy, num_to_str这个函数呀加上一个对0处理就好了.

1.4K20
您找到你想要的搜索结果了吗?
是的
没有找到

【Python】元组 tuple ① ( 元组 tuple 简介 | 元组不可修改 | 元组定义 | 定义只有一个元素元组 | 元组嵌套 )

一、元组 tuple 简介 1、元组引入 列表 List 中数据是可修改 , 如果有这样一种场景 , 数据生成后 , 不能修改 , 列表就不适用了 ; 这里引入新 数据容器 " 元组 tuple..." ; 数据封装 : 元组 中可以 封装 多个 不同类型 元素 , 该功能与 列表 相同 ; 不可修改 : 元组 一旦定义初始化完成 , 其中数据就不可更改 ; 元组 可以被理解为 只读 List...列表 ; 2、元组定义 元组 使用小括号 () 定义 , 多个数据元素之间 , 使用逗号隔开 ; 元组 数据元素 可以是 相同数据类型 , 也可以是 不同数据类型 ; 元组字面量 定义语法 :...Jerry', 18, False, 3.1415926) t2 类型 : , 内容 : () t3 类型 : , 内容 : () 3、定义只有一个元素元组...定义只有一个元素元组 , 需要在这唯一元素后面加上一个逗号 , 这个逗号必须存在 ; 定义只有一个元素元组语法 : 元组变量 = (元素,) 如果在这唯一元素后面没有逗号 , 则定义就不是元组

17640

如何将简单Shell转换成为完全交互式TTY

作为一名渗透测试人员,最令人激动莫过于netcat为我们反弹回了一个shell连接,以及通过id命令查看到一个令人满意用户权限。...但凡事总有意外,由于我们获取shell并不是一个具有完整交互shell,因此可能会在使用过程中被挂起,甚至还可能会因为我们操作失误,例如不小心摁下了 “Ctrl-C”键,这将直接终止我们整个shell...下面我将为大家分享一些用来“升级”这些shell技巧和方法。在正式开始之前我向大家推荐一个叫Pentest Monkey博客,以及Phineas Fisher技术视频和writeup。...如果没有安装netcat,我们还可以生成一个Perl反向shell: ? 这些都可以通过使用netcat,并侦听指定端口(4444)来捕获。...方法2:使用socat socat是一个netcat上替代工具,可以说是nc增强版。我们可以使用Socat通过TCP连接传递完整TTY。

4.7K40

分享一个简单 Python 脚本库:将 requests 代码转换成 curl 命令

于是,py2curl 就诞生了,一个简单 Python 脚本库,可以将 requests 脚本转化成一个简单可用 curl 命令。...pip instll py2curl 使用 一个简单 GET 请求: import requests import py2curl req = requests.get('https://tendcode.com...deflate" -H "Connection: keep-alive" -H "User-Agent: python-requests/2.19.1" https://tendcode.com/ 一个常见...smartresult=dict&smartresult=rule 总结:使用 py2curl 可以非常方便快速将本地 python 代码转换成 curl 命令,即使你根本不会 curl 命令也可以做到无缝对接...顺便分享一个 curl 命令转 python 代码(还可以转其他代码)网站 https://curl.trillworks.com/ 版权声明:如无特殊说明,文章均为本站原创,转载请注明出处 本文链接

1.7K30

如何将自己输入文字转换成语音?这里方法超级简单

在我们日常生活中会遇到很多问题,特别是在自己需要循环播放一语音时候,大家也听过超市里或是是在商场时播放叫卖语音,这是需要将自己想要广播内容转换成语音来播放,那么如何将自己输入文字转换成语音?...那么今天小编就来给大家分享几个超级简单方法,一起来看看吧。 一、Word朗读 操作步骤: 1、我们首先打开Word - 鼠标点击“自定义快速访问工具栏”- 在下拉菜单中选择“其他命令”。...3、当你点击“确定”之后就会出现一个“新建选项卡”然后下面有一个“朗读”然后你把文字输入进入之后选中,点击“朗读”就可以啦。...有话说:虽然Word可以对输入文字朗读,但是不能选择朗读声音,和是男生朗读还是女生朗读,我想着对于一些声控来说,是真滴很头疼啊,下面就来为大家介绍另外一个方法,可以让你轻松摆脱这样烦恼哦。...转换之后效果 以上呢就是给大家介绍的如何将自己输入文字转换成语音,这里方法超级简单全部内容了,相信可爱小伙伴们已经看完了全部文章,大家只要跟着上面的步骤来,就能轻松将自己输入文字转换成语音哦

4K40

一个简单爬虫

一个基本爬虫通常分为数据采集(网页下载)、数据处理(网页解析)和数据存储(将有用信息持久化)三个部分内容,当然更为高级爬虫在数据采集和处理时会使用并发编程或分布式技术,这就需要有调度器(安排线程或进程执行对应任务...)、后台管理程序(监控爬虫工作状态以及检查数据抓取结果)等参与。...一般来说,爬虫工作流程包括以下几个步骤: 设定抓取目标(种子页面/起始页面)并获取网页。 当服务器无法访问时,按照指定重试次数尝试重新下载页面。...在需要时候设置用户代理或隐藏真实IP,否则可能无法访问页面。 对获取页面进行必要解码操作然后抓取出需要信息。 在获取页面中通过某种方式(如正则表达式)抽取出页面中链接信息。...对链接进行进一步处理(获取页面并重复上面的动作)。 将有用信息进行持久化以备后续处理。 下面的例子给出了一个从“搜狐体育”上获取NBA新闻标题和链接爬虫。

32320

WPF 尝试使用 WinML 做一个简单手写数字识别应用

最近我看了微软 AI 训练营之后,似乎有点了解 Windows Machine Learning 和 DirectML 概念,于是我尝试实践一下,用 WPF 写一个简单触摸手写输入画板,再使用大佬训练好...mnist.onnx 模型,对接 WinML 实现一个简单手写数字识别应用 本文属于 WinML 入门级博客,我将尝试一步步告诉大家,如何对接 Windows AI 里 Windows Machine...,大家也可以从 gitee 国内源拉取 为了方便做一个演示应用,接下来添加一个简单界面代码,也就是放两个按钮,一个用来做识别,一个用来做清理。...在 WPF PixelFormats.Pbgra32 表示是使用一个 32 位空间表示一个像素,像素顺序是 B 蓝色 G 绿色 R 红色。...:{maxIndex} 识别率:{maxValue}"; } } 这个模型输出很有趣,是输出一个包含 10 个元素 float 数组,这个数组上每个元素代表着对应数字识别率或者说可信度是多少

37210

一个简单dao设计

整个dao由连接对象和解析驱动两个部分组成,大概就是下面这个样子 image.png 连接对象主要实现如下方法: addServer 添加连接对象到连接池 getServer 从连接池中取出一个对象...query 发起只读(R)查询并返回PDO游标 exec 发起增删改(CDU)操作,返回受影响行数 解析器作用是将操作状态转化为sql语句,主要实现以下功能: distinct 是否使用distinct...去重 table 设置表/别名 sql 直接设置查询语句而不需要构造 field 设置要查询字段 join 设置要join目标 union 设置union目标 where 设置查询条件和参数 group...设置分组查询 having 设置分组查询条件 order 设置排序 limit 设置要取出偏移位置和取出数量 fetchAll 取出所有数据 fetch 取出一行数据 fetchColumn 取出第一行第一个字段数据...insert 插入数据 update 更新数据 query 查询数据 delete 删除数据 其中insert,update,query,delete由于数据库之间差异,由各自驱动来实现.

49870

实现一个简单redux

刚开始接触到redux时候, 对于redux中概念, 只有一个store是知道, 其他都像是在阅读天书一样....,通知到每个监听地方,但是却有几个问题: 只能改变name,不通用 公共代码应该封装起来 于是,我们尝试着将代码封装起来,形成一个可通用代码。...store.changeState({ ...store.getState(), person: { name: '小明', sex: '男' } }); //名字:小明,性别:男 //2 这样我们就实现了一个简单状态管理器了...方法知道,告诉它修改state时候,按我们希望修改 我们来实现handle函数,它接受一个state和一个包含改变state对象,返回新state function handle(state...到此为止,我们已经实现一个完整状态管理器。这也是redux核心之一。

49810

TDD 一个简单例子

我们按照 TDD1个准备步骤+关键5步来看做一个小例子。 需求: 假设我有一个叫Dollarclass, 那它有个方法叫做Times. 我现在目的是要实现这个Times方法。...准备步骤1: 基于需求,准备一个Test List,什么是 test list我在前面(TDD( 测试驱动开发) Overview)讲过,比方说这个是抛开代码实现detail想出来一些需要测试东西...下面看一下关键5步,我们先测test list中一个吧,测试先后顺序一般是 先挑最简单测 然后再挑难点 1....对开发代码做很小修改,目的就是让新加测试通过 (注意这里目的) 目的是用最简单方法让第一个test case 通过,那代码肯定很简单         //method to be tested...移掉重复代码,对代码进行重构 这个时候实现很简单 还没有重复代码。 5步走完,这个test case就测完了,那么就可以从test list 列表中删掉了。 ?

79480

一个简单webserver

笔者对 WEB服务器 工作原理理解比较粗浅,仅是基于个人理解来写,存在很多不足和漏洞,目的在于给大家提供一个写 webserver 思路。...服务器是属于被动一方,当浏览器发起请求时候,服务器才能和浏览器通信,在此之前,服务器都处于一个等待监听状态。...socket连接 实现服务器第一步是建立一个 socket 连接,socket 套接字是对 TCP/UDP协议 一个封装,Python 就自带有 socket 模块,所以使用起来很方便。...clientSk.close() except Exception as err: print(err) clientSk.close() 这是一个极简 socket-server...解析HTTP请求 拿到浏览器请求很简单,clientSk.recv() 即可获取请求报文,而些数据我们无法直接拿来用,因为它是基于 HTTP协议 封装数据,在我们进行下一步操作前,需要对请求报文“解封

60110

手写一个简单starter

先了解一下什么是 starter:一个 starter其实就是对一个功能集成封装,然后对外提供一个依赖,让业务去使用,像我们熟悉 Redis,mongo,mybatis 等均属于。...一、命名规范 由于任何人都可以编写自己 starter,为了区分官方 starter 和个人 starter,通常在命名上面会有一个规范。...calendar.getTime()); } public void setPrefix(String prefix) { this.prefix = prefix; } } 简单说明一下上面三个类都是干什么...(1)MyHashTemplate 该类是实际业务需要注入类,用来对入参进行 MD5 摘要,然后返回一个拼接了前缀字符串给业务。...自己编写 starter 已经成功生效了,只不过功能目前很单一,我们完全可以根据自己需要实际功能来实现一个复杂一点 starter 来提供开箱即用效果。

11110

一个简单 Chrome 插件

之前做秒杀器时候,使用是 WPF 客户端,借助 HttpWebRequest 来实现远程调用。 后来看到别人抢火车票软件是一个 Chrome 插件,发现这样写起来要简单太多了。...一直想搞一个插件。 今天比较闲,做了一个简单插件,用于一次性打开多个连续连接地址,例如这个网页: ? 它一共有 15 页。一页一页点实在太累,这时,可以使用这个插件,点击一下,弹出以下窗口: ?...Url 已经根据当前连接地址修改好了,调整部分系数,点打开,即在 chrome 里面打开了所有的网页,看完一个一个就好了: ? 这样一次性加载好,不用点一下等一会儿。...有兴趣朋友可以下载下来玩下,看源码也行,非常简单,下面是程序和源码: 程序与安装包

57850

手写一个简单JQuery

测试样本 为什么jq 使用$(selector)就能够获取DOM呢 原生js该怎么实现 //事实证明通过如下方式不管传入是id选择器还是class选择器都是可行 document.querySelectorAll...(selector) 获取DOM中第几个元素 // 因为我们获取到一个NodeList数组,那么当然可以通过下标获取(注意不要越界) document.querySelectorAll(selector...)[0] 给元素添加class // 添加完毕以后查看DOM结构class中就多了一个class属性world document.querySelectorAll(".hello").forEach(...d=>{ d.classList.add("world") }) 添加css属性 // 我们希望给每一个元素添加上宽、高、颜色几个属性 let css = { "width": "2rem...我们希望将更多细节封装在对象内部 从使用上来看,越来越有jQuery感觉了 换成es6语法进行简单封装以后,发现依然可以实现,而且结构越来越清晰了呢,另外对于html、text等方法没有实现

49520

一个简单Django项目

命令:django-admin.py startproject [projectname]在当前目录下建立一个名为[projectname]项目,假设我们要建立一个名为blogDjango项目,则我们使用以下命令建立...: django-admin.py startproject blog 命令执行成功后没有任何提示,我们打开新建blog项目的目录,会发现下面有一个blog文件夹以及一个manage.py文件:...上图中blog文件夹中还有四个文件: ?...__init__.py:将这个项目目录作为Python一个包 manage.py:可以在命令行下管理这个项目 settings.py:这个项目的配置文件 urls.py:定义了Django项目中URL...Web服务器之间一种接口 在当前项目的目录下执行以下命令启动当前项目: python manage.py runserver 项目默认监听在8000端口,注意不要让这个端口被别的程序占用,防止冲突

41940
领券