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

Python 小型项目大全 6~10

输入源代码并运行几次之后,尝试对其进行实验性修改。标有(!)注释对你可以做小改变有建议。您可以通过向SYMBOLS字符串添加字符来扩展可加密符号。 探索程序 试着找出下列问题答案。...请记住,存储SYMBOLS变量字符串必须与生成加密文本凯撒密码程序SYMBOLS变量相匹配。 探索程序 试着找出下列问题答案。...在这个函数,calText变量存储这个字符串,这个字符串添加了行、空格和日期。...第 114、130 和 142 行,垂直线间距可能看起来不正确,但是程序用字符串'RED '(末尾有一个空格)或'GOLD'替换了花括号。...我们有一个字典,存储JAPANESE_NUMBERS,将整数1到6映射到日语单词字符串,而不是有一个if语句后跟五个elif语句。

1.1K30

使用 Python 程序实现摩斯密码翻译器

加密 加密情况下,我们一次一个地从单词中提取每个字符(如果不是空格),并将其与存储我们选择任何数据结构相应摩斯密码匹配(如果您使用 python 编码,字典可以变成在这种情况下非常有用) 将摩斯密码存储一个变量...,变量将包含我们编码字符串,然后我们包含结果字符串添加一个空格。...在用摩斯密码编码时,我们需要在每个字符之间添加 1 个空格每个单词之间添加 2 个连续空格。 如果字符空格,则向包含结果变量添加一个空格。...我们重复这个过程,直到我们遍历整个字符串 解密 解密情况下,我们首先在要解码字符串末尾添加一个空格(这将在后面解释)。 现在我们继续从字符串中提取字符,直到我们没有任何空间。...一旦我们得到 2 个连续空格,我们就会向包含解码字符串变量添加一个空格字符串末尾最后一个空格将帮助我们识别莫尔斯电码字符最后一个序列(因为空格充当提取字符开始解码它们检查)。

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

扔掉代码表!用RNN“破解”摩斯电码

数据准备 我们将引入一个特殊字符(*)来表示每个字母代码之间空格。例如,SOS代码将由''表示。。。* - - - *。。“。(代替 '。 。 。 - - - 。 。 。')。...请记住,网络不会找出产生数据'公式',也就是说,它不会学习图1图表。 我们开始数据准备工作,构建一个函数,将所输入英文单词编码为它 Morse 电码并输出。...我们采取一个自由是我们假设我们知道每个字母表都是由长度最长为4字符串编码(我们不需要做这个具体假设,我们可以选择训练数据中最长莫尔斯码长度作为接下来max_length_x值)。...批量大小是梯度下降算法通过网络传递训练集部分大小,之后对网络权重进行更新。通常批量大小设置为您计算机内存可以处理最大值。一个时代是通过使用这些批次训练数据全面运行。...作为 encoder-decoder 模型一个例子,你可以尝试使用凯撒加密(Caesar cipher)或者其他代码来查看这种方法有效性如何。

1.7K50

使用 Python 程序实现摩斯密码翻译器「建议收藏」

加密 加密情况下,我们一次一个地从单词中提取每个字符(如果不是空格),并将其与存储我们选择任何数据结构相应摩斯密码匹配(如果您使用 python 编码,字典可以变成在这种情况下非常有用) 将摩斯密码存储一个变量...,变量将包含我们编码字符串,然后我们包含结果字符串添加一个空格。...在用摩斯密码编码时,我们需要在每个字符之间添加 1 个空格每个单词之间添加 2 个连续空格。 如果字符空格,则向包含结果变量添加一个空格。...我们重复这个过程,直到我们遍历整个字符串 解密 解密情况下,我们首先在要解码字符串末尾添加一个空格(这将在后面解释)。 现在我们继续从字符串中提取字符,直到我们没有任何空间。...一旦我们得到 2 个连续空格,我们就会向包含解码字符串变量添加一个空格字符串末尾最后一个空格将帮助我们识别莫尔斯电码字符最后一个序列(因为空格充当提取字符开始解码它们检查)。

1.2K20

【算法千题案例】每日LeetCode打卡——99.山羊拉丁文

前言 原题样例:山羊拉丁文 C#方法:遍历 Java 方法:字符串 总结 ---- 前言 算法题 每天打卡一道算法题,既是一个学习过程,又是一个分享过程 提示:本专栏解题 编程语言一律使用 C#...和 Java 两种进行解题 要保持一个每天都在学习状态,让我们一起努力成为算法大神吧 今天是力扣算法题持续打卡第99天 算法题 ---- 原题样例:山羊拉丁文 给定一个空格分割单词句子 S。...如果单词以辅音字母开头(即非元音字母),移除第一个字符并将它放到末尾,之后添加"ma"。 例如,单词"goat"变为"oatgma"。...根据单词句子索引,单词最后添加与索引相同数量字母’a’,索引从1开始。 例如,第一个单词添加"a",第二个单词添加"aa",以此类推。 返回将 S 转换为山羊拉丁文后句子。...提交击败了100.00%用户 内存消耗:45.9 MB,在所有 C# 提交击败了43.90%用户 ---- Java 方法:字符串 思路解析 对于句子每个 word,如果是元音字母,就不变

42420

leetcode之山羊拉丁文

序 本文主要记录一下leetcode之山羊拉丁文 leetcode-online-judge.jpg 题目 给定一个空格分割单词句子 S。每个单词只包含大写或小写字母。...山羊拉丁文规则如下: 如果单词以元音开头(a, e, i, o, u),单词添加"ma"。 例如,单词"apple"变为"applema"。...如果单词以辅音字母开头(即非元音字母),移除第一个字符并将它放到末尾,之后添加"ma"。 例如,单词"goat"变为"oatgma"。...根据单词句子索引,单词最后添加与索引相同数量字母'a',索引从1开始。 例如,第一个单词添加"a",第二个单词添加"aa",以此类推。 返回将 S 转换为山羊拉丁文后句子。...,然后遍历每个单词,判断首字母是否为元音,是的话在后面添加ma,不是的话将首字母移到后面再拼接ma,最后再根据单词句子index拼接指定个数a。

72200

古典密码学概述

替换密码 Substitution cipher 对数据每个字符用另一个字符进行替换。...Mixed alphabetic cipher 字母表 到字母表 映射是一个置换,每个小写字母(代表明文)分别映射到一个唯一大写字母(表示密文)。...一个字母对应系列点和短横线间空格间隔等于一个点长度 两个相邻字母间空格间隔等于三个点长度 两个单词空格间隔等于七个点长度 image.png 2.2 单字母多表密码 Polyalphabetic...相同明文字符可以对应不同密文字符。 维吉尼亚密码 给定一定长度密钥,重复密钥直至密钥流和明文长度相同。...根据密钥字符对应列,寻找密文字符,则密文字符表格对应行索引字符即明文字符。 一次性密码本 OTP(One-time pad) OTP 是唯一一个达到完美加密加密系统,无法被攻破。

1.8K30

leetcode-151-翻转字符串单词

题目描述: 给定一个字符串,逐个翻转字符串每个单词。 示例:   输入: "the sky is blue", 输出: "blue is sky the". 说明: 无空格字符构成一个单词。...这个句子可能会有多余空格,可能会出现在第一个字符前面,可能出现在单词之间,可能出现在最后一个字符后面。 你要将多余空格去掉,最前面和最后面不能有空格单词之间空格只能有一个。...cc++语言用户使用O(1)空间复杂度原地解法,字符串修改,函数类型是void,不用返回。...2、这道题如果允许多定义一个字符串(长度与给定字符串相同),那么从给定字符串后面读起,读出字符从新字符串前面开始写起。...过程,调整新字符串空格,使之符合要求,最后调用resize函数修改新字符串长度,这道题也就解决了。

1.8K10

翻转字符串单词

翻转字符串单词 给定一个字符串,逐个翻转字符串每个单词。 说明: 无空格字符构成一个单词。 输入字符串可以在前面或者后面包含多余空格,但是反转后字符不能包括。...二、思路 问题转化:三步走,重点:是连续空间删除一个字符,如何避免整体copy 题目明明是要求反转字符串单词问题, 要想保证反转后没有多余空格。...反转前消除空格 最终转化成一个连续空间,移动copy字符串问题。 不同空间肯定没有问题,同一个空间呢?内存重叠呢? 解决了:数组特点 地址空间连续,删除一个元素,后面整体一定问题。...子问题: 单词空格,去掉多余空格。 反转单词。 反转步骤1和2之后字符串。 算法描述: 第一步:如何删除多余空格?...(通过队列保存拆分后单词这个想法可以想到) 假设 这是这个单词位置 A |B |C |D 输出: "example good a" 第二步:反转一个单词 如何确定每个单词位置。

85910

维吉尼亚密码及程序实现

凯撒加密 密码学,恺撒密码是一种最简单且最广为人知加密技术。它是一种替换加密技术,明文中所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。...例,当偏移量是3时候,所有的字母A将被替换成D,B变成E,以此类推。这个加密方法是以恺撒名字命名,当年恺撒曾用此方法与其将军们进行联系。恺撒密码通常被作为其他更复杂加密方法一个步骤。...维吉尼亚密码 单一恺撒密码基础上,法国外交家布莱斯·德·维吉尼亚(Blaise de Vigenère)发明了一种方法来对同一条信息不同字母用不同密码进行加密。...这样,同样E一个位置可能被M所取代,而在另一个位置E则有可能以K面目出现。这样,就可以防止任何人利用频率分析法解密该条信息。...T,第一个密钥字母为R,因此可以找到R行中代替T为K,依此类推,得出对应关系如下: 密钥:RELAT IONSR ELATI ONSRE LATIO NSREL 明文:TOBEO RNOTT OBETH

1.8K100

每日一刷《剑指offer》字符串篇之把字符串转换成整数(atoi)

传入字符串可能有以下部分组成: 若干空格 (可选)一个符号字符('+' 或 '-') 数字,字母,符号,空格组成字符串表达式 若干空格 转换算法如下: 1.去掉无用前导空格 2.第一个非空字符为...+或者-号时,作为整数正负号,如果没有符号,默认为正数 3.判断整数有效部分: 3.1 确定符号位之后,与之后面尽可能多连续数字组合起来成为有效整数数字,如果没有有效整数部分,那么直接返回...(String word):查询word是否字典树中出现过(完整出现过,前缀式不算); int prefixNumber(String pre):返回以字符串pre作为前缀单词数量。...每次操作会给定一个整数op和一个字符串word,op代表一个操作码,如果op为1,则代表添加word,op为2则代表删除word,op为3则代表查询word是否字典树,op为4代表返回以word为前缀单词数量...对于每次操作,如果op为3时,如果word字典树,请输出“YES”,否则输出“NO”;如果op为4时,请输出返回以word为前缀单词数量,其它情况不输出。

16720

正则表达式

它们还使您能够创建这样正则表达式,这些正则表达式出现在一个单词内、一个单词开头或者一个单词结尾。...定位符用来描述字符串单词边界,^和$分别指字符串开始与结束,\b描述单词前或后边界,\B表示非单词边界。 正则表达式限定符有: 字符 描述 ^ 匹配输入字符串开始位置。...下面的表达式匹配单词 Chapter 开头三个字符,因为这三个字符出现字边界后面: /\bCha/ \b 字符位置是非常重要。如果它位于要匹配字符串开始,它在单词开始处查找匹配项。...反向引用 对一个正则表达式模式或部分模式两边添加圆括号将导致相关匹配存储到一个临时缓冲区,所捕获每个子匹配都按照在正则表达式模式从左到右出现顺序存储。...上面的句子很显然有多个重复单词。如果能设计一种方法定位句子,而不必查找每个单词重复出现,那该有多好。

87510

Python字符串及用法

#字符串定义 a = 'westos' b = "what's" c = """ 用户管理管理系统 1.添加用户 2.删除用户 3.显示用户 ..... """ print(a) print(b) print...2.字符串特性 字符串字符有序集合,可以通过其位置来获得具体元素。 python 字符串字符是通过索引来提取,索引从 0 开始。...print(s[:3]) #显示前3个字符 print(s[::-1]) #字符串翻转 print(s[1:]) #除了第一个字符之外其他全部字符 ?...,连接每个字符串 print(''.join(date1)) print('/'.join(date1)) print('~~'.join('hello')) 小米笔试编程题目 题目描述: 给定一个句子...(只包含字母和空格), 将句子单词位置反转, 单词空格分割, 单词之间只有一个空格,前>后没有空格

1.1K20

JavaScript数据结构与算法-String

Number(arr.join('')):0 } }; 字符串第一个唯一字符 给定一个字符串,找到它第一个不重复字符,并返回它索引。如果不存在,则返回 -1。...给定一个字符串,你需要反转字符串每个单词字符顺序,同时仍保留空格单词初始顺序。...示例 1: 输入: "Let's take LeetCode contest" 输出: "s'teL ekat edoCteeL tsetnoc" 注意:字符串每个单词由单个空格分隔,并且字符串不会有任何额外空格...思路:使用一个for循环,将字符串第一个开始传入match函数match函数利用正则表达式获取到字符串开头字符(或是多个0或是多个1),再使用repeat方法,将开头获取到多个0或1利用异或运算反转重复相同次数...(举个例子:获取到了‘00’,那么反转之后就是‘11’),然后再建立一个正则表达式,将获取到字符和反转后字符拼接,使用test方法与传入字符串进行比对,返回第一个比对成功字符串,保存到数组r

61120

初学字符串,从一道经典例题入手

C++,由于引入了面向对象概念,C++STL库中提供了更成熟string类来代表字符串。...反转字符串单词 给你一个字符串 s ,请你反转字符串 单词 顺序。 单词 是由非空格字符组成字符串。s 中使用至少一个空格字符串 单词 分隔开。...返回结果字符串单词间应当仅用单个空格分隔,且不包含任何额外空格。 分析 这题题意不算复杂,但是要考虑细节不少。比如字符串中间空格可能不止一个字符串首尾两端都可能有多个空格。...int j = 0; int n = s.length(); // 是否是单词之后第一个空格 bool fb = false; for (int i = 0; i < n; i++) { //...因为单词单词之间都有空格连接,所以每次遇到空格就知道遇到了单词结尾,只要再记录下单词开头,把中间字符顺序翻转即可。

79020

LeetCode 824. 山羊拉丁文

题目 给定一个空格分割单词句子 S。每个单词只包含大写或小写字母。 我们要将句子转换为 “Goat Latin”(一种类似于 猪拉丁文 - Pig Latin 虚构语言)。...山羊拉丁文规则如下: 如果单词以元音开头(a, e, i, o, u),单词添加"ma"。 例如,单词"apple"变为"applema"。...如果单词以辅音字母开头(即非元音字母), 移除第一个字符并将它放到末尾,之后添加"ma"。 例如,单词"goat"变为"oatgma"。...根据单词句子索引,单词最后添加与索引相同数量字母'a',索引从1开始。 例如,第一个单词添加"a",第二个单词添加"aa",以此类推。 返回将 S 转换为山羊拉丁文后句子。...单词间有且仅有一个空格。 1 <= S.length <= 150。

48020

C#编程基础01

如果在字符串左引号前添加 $,则可以大括号之间字符串内包括变量 Console.WriteLine($“The name {firstFriend} has {firstFriend.Length...这两个字符串用括号括住。 第一个字符串是要搜索文本。 第二个字符串是替换后文本。 ToUppor(全部转大写字母)ToLower(全部转小写字母) 查找字符串文本。...可以使用 Contains 方法进行搜索 这个方法返回是逻辑值布尔值,有返回真,否则返回假。 两个类似方法 StartsWith 和 EndsWith,也可以字符串搜索子字符串。...命名法是第一个单词小写,从第二个单词开始每个单词首字母大写 Pascal 命名法是指每个单词首字母大写; 输入语句 Console.ReadLine(); 需要一个String类型值来存储。...#字符串前面加一个@表示这个字符串不需要转义,同时字符串回车符空格符都可以实现,以及使用两个引号代表一个引号(没有添加情况下,字符串回车是无法显示

14110

ES2019 8 个非常有用功能

它们都可以帮助你修剪或删除给定字符串空格。trimStart() 删除字符串开头所有空格。trimEnd()将删除字符串末尾所有空格。不过要是想去除两边空格呢? 有两个选择。...// 处理以空格开头字符串: ' JavaScript'.trimStart() // Output: //'JavaScript' // 两边都留有空格字符串 ' JavaScript '....' // 处理以空格开头字符串: ' JavaScript'.trimEnd() // Output: //' JavaScript' // 两边都留有空格字符串 ' JavaScript '....这样就可以展平过程中使用原始数组每个元素。当在对数组进行展平操作同时又要修改内容时很方便。...它缺点是返回字符串还包含 Symbol()。另一个区别是 toString() 方法永远不会返回不存在undefined 描述。

2.1K20

python学习笔记(1)

^ 匹配输入字符串开始位置,除非在方括号表达式中使用,当符号方括号表达式中使用时,表示不接受方括号表达式字符集合。要匹配 ^ 字符本身,请使用 ^。 { 标记限定符表达式开始。...^ 匹配输入字符串开始位置,除非在方括号表达式中使用,当符号方括号表达式中使用时,表示不接受方括号表达式字符集合。要匹配 ^ 字符本身,请使用 ^。 { 标记限定符表达式开始。...它们能够创建这样正则表达式,这些正则表达式出现在一个单词内、一个单词开头或者一个单词结尾。...预查不消耗字符,也就是说,一个匹配发生后,最后一次匹配之后立即开始下一次匹配搜索,而不是从包含预查字符之后开始。 (?!...预查不消耗字符,也就是说,一个匹配发生后,最后一次匹配之后立即开始下一次匹配搜索,而不是从包含预查字符之后开始。 (?

1.7K42

C++】9道经典面试题带你玩转string类

请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ atoi 函数)。...字符串第一个唯一字符 https://leetcode.cn/problems/first-unique-character-in-a-string/ 题目描述: 给定一个字符串...(注:字符串末尾不以空格为结尾) 题目详情: 解题思路: 题我们利用string类成员函数先找到最后一个空格位置,而后用字符串总长度减去最后一个空格位置再减1即为最后一个单词长度...反转字符串单词 III https://leetcode.cn/problems/reverse-words-in-a-string-iii/ 题目描述: 给定一个字符串 s...,你需要反转字符串每个单词字符顺序,同时仍保留空格单词初始顺序。

6810
领券