我需要简化这个,以获得占用更少空间的东西。任何帮助都很感激。这是一个我正在做的项目,把一个句子变成一个“秘密代码”之类的东西。
a = translate[0] #gets a letter from the sentence entered
aa = values[a] #assigns a value (a=1,b=2,etc...) to the letter
print(aa+16) #adds 16 to the letter's value and prints it.
a = translate[1]
aa = values[a]
print(aa+16)
a = translate[2]
aa = values[a]
print(aa+16)
a = translate[3]
aa = values[a]
print(aa+16)
a = translate[4]
aa = values[a]
print(aa+16)
a = translate[5]
aa = values[a]
print(aa+16)
a = translate[6]
aa = values[a]
print(aa+16)
a = translate[7]
aa = values[a]
print(aa+16)
a = translate[8]
aa = values[a]
print(aa+16)
a = translate[9]
aa = values[a]
print(aa+16)
a = translate[10]
aa = values[a]
print(aa+16)
a = translate[11]
aa = values[a]
print(aa+16)
a = translate[12]
aa = values[a]
print(aa+16)
a = translate[13]
aa = values[a]
print(aa+16)PS:如果有人能告诉我怎么做,这样就不需要设置输入的单词的长度了(也就是说,现在的代码只有当一个14个字母的单词被输入时才能工作),以及我如何给一个空格赋值(“")我会很感激的。
发布于 2017-11-07 20:08:34
你应该用循环。
for x in range(14):
a = translate[x]
aa = values[a]
print(aa+16)这是计算机科学中的一个非常基本的结构,我建议你在开始一个大项目之前,更好地掌握基本的编程思想。尝试一个像科德勒密这样的网站,你可能会发现你不再需要问这样简单的问题了。不过,为了记录在案:
word = input() #the word you read in
for x in range(len(word)): #this will allow you to read words of arbitrary length
a = translate[x]
aa = values[a]
print(aa+16)发布于 2017-11-07 20:40:07
示例代码片段(使用ord检索字符的ascii值,ord('a')=97,ord('A')=65,等等):
translate = input("Enter some text: ")
output = ""
for char in translate:
output += str(ord(char) + 16)
print(output)执行产出:
Enter some text: This is a sample text.
1001201211314812113148113481311131251281241174813211713613262https://stackoverflow.com/questions/47166454
复制相似问题