我在Python语言中寻找一个简短而又酷的rot13函数;-)我写了这个函数:
def rot13(s):
chars = "abcdefghijklmnopqrstuvwxyz"
trans = chars[13:]+chars[:13]
rot_char = lambda c: trans[chars.find(c)] if chars.find(c)>-1 else c
return ''.join( rot_char(c) for c in s )
有人能让它变得更好吗?例如,支持大写字符。
有没有人能帮我弄一下下面的代码?当我运行它时,日志显示:
return method(*args, **kwargs)
File "C:\Users\CG\Documents\udacity\rot13serendipo\main.py", line 51, in post
text = rot13(text)
File "C:\Users\CG\Documents\udacity\rot13serendipo\main.py", line 43, in rot13
return st.translate(tab)
TypeError:
与此有关的问题:
在java中解码rot13的代码是什么?我是不是简单地颠倒了这些标志?
下面是将字符串编码为rot13的代码:
public class Rot13 {
public static void main(String[] args) {
String s = args[0];
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (c >= 'a' && c
我正在为Rails 4编写一个gem,它需要向ApplicationController添加一些方法,我认为最好的方法是编写一个rake任务来打开文件,插入我需要的方法,然后关闭它。为了使我的方法在类定义中,最好的方法是什么?
class ApplicationController < ActionController::Base
def existing_methods
foo
end
# insert my methods here
end
编辑
在尝试了下面的建议,但没有结果后,我尝试遵循,最后尝试了以下内容:
lib/my_engine.rb .
req
我需要使用lambda加密/解密,但我遇到了一些问题。我的函数create_rot13()不能接收参数,只有我的lambda应该接收参数。
到目前为止,这是我目前的代码,没有使用任何lambda,因为我找不到一个(找了几天)。如何将如此多行代码放入其中。
def create_rot13(message):
crypted = ""
letters = "abcdefghijklmnopqrstuvwxyz"
for car in message:
if car in letters:
num =
我想要创建一个函数,它接收一个字符串并返回一个字符串,并在字母(ROT13)后面用13个字母替换一个字母。我发现了很多例子,不幸的是,由于各种错误,我没能让它正常工作。例如,这个:
var key = [String:String]() // EDITED
let uppercase = Array(arrayLiteral: "ABCDEFGHIJKLMNOPQRSTUVWXYZ")
let lowercase = Array(arrayLiteral: "abcdefghijklmnopqrstuvwxyz")
for i in 0 ..< 26 {
我编写了一个函数,目的是为字符串中的每个字母填充一个带有uni代码字符的数组。
但是,返回的结果是一个空值数组。
function rot13(str) {
var splitString = str.split("");
var myArray = [];
for (var i = 0; i < splitString.length; i++) {
myArray.push(splitString[i].charCodeAt[i]);
}
return myArray;
}
console.log(rot13('cats'
我已经写了一个函数,它可以将字符串转换为uni代码值的数组。现在,我想要一种将该数组转换回字符串的方法。我正在使用String.fromCharCode()
function rot13(str) {
var string = str.toUpperCase();
var myArray = [];
for (var i = 0; i < string.length; i++) {
myArray.push(string.charCodeAt([i]));
}
var b = String.fr
我的问题是只替换last13数组中的第一个字符。
我要将所有字符从var last13替换为first13
var first13 = first13Letter.map(x=>x).join(',');
var last13 = last13Letter.map(y=>y).join(',');
我的代码
function rot13(str) {
var first13Letter = ["A","B","C","D","E","F",
我正在创建一些代码,它接受用户的输入(这是一个字符串),并将每个字母更改为字母表中的13个字母。但我还是看到了课文的长度。但是我不知道当变量在字母表中将一个字母改为第13个字母时,如何将1加到一个变量中。
Dim looped As Integer
Dim length As Integer
Dim text As String
Dim newtext As String
Sub Main()
Console.WriteLine("Enter some text")
text = Console.ReadLine
looped = 0
t
我正在用javascript构建凯撒密码。它使用一个名为currentkey的随机集变量作为密码的密钥。它可以是一个从-25到+25的数字,跳过0。
我不知道为什么函数在字符串的开头返回未定义的,或者为什么只要字符串出现,它就会翻译相同的字母,甚至不知道为什么这个字母根本不被翻译。
var currentkey = 5 //for example
function convertKey(str) {
var o_text = str;
var o_letters = o_text.split("");
var alphabet = ['a
我的python版本是2.7。
出于某种原因,我需要使用rot13来转换编码'utf-8‘的段落。但是,当我按以下方式运行命令时:
s = u'€'
res = unicode.encode('rot13')
我收到以下错误消息:
UnicodeEncodeError:“charmap”编解码器不能编码0位置的字符u‘\u20ac:字符映射到<undefined>。如何纠正此错误?我陷在这个错误中已经很长时间了,不能用Google上的方法来修复它。
一种常见的现代用途是ROT13密码,其中字母的值被移位13位。例如,'A‘↔'N','B’↔'O‘等等。 function rot13(str) {
let newStr="";
let upperAlph=["A","B","C","D","E","F","G","H","I","J","K","L","M","