Python 有人能帮我解决ASCII部分吗
我的任务是对编码进行加密和解密,并创建一个按钮或一个将退出程序的单词。现在,我已经想出了如何做到这一点,但现在我必须使用ASCII,我需要一些帮助。。。这是我的加密、解密和退出代码。有人能帮我解决ASCII部分吗Python 有人能帮我解决ASCII部分吗,python,encryption,ascii,Python,Encryption,Ascii,我的任务是对编码进行加密和解密,并创建一个按钮或一个将退出程序的单词。现在,我已经想出了如何做到这一点,但现在我必须使用ASCII,我需要一些帮助。。。这是我的加密、解密和退出代码。有人能帮我解决ASCII部分吗 welcome = input("Hello there...") letters = ("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w
welcome = input("Hello there...")
letters = ("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z")
numberShift = int(input("How much do you wish to shift the letters? "))
phrase = input("Enter a phrase to be encrypted: ")
newPhrase = ""
for l in phrase:
if l in letters:
pos = letters.index(l) + numberShift
if pos > 25:
pos = pos - 26
newPhrase += letters[pos]
else:
newPhrase += " "
print(newPhrase)
numberShift = int(input("How many times has the code you want to decrypt been shifted? "))
phrase = input("Enter a phrase to be decrypted: ")
newPhrase = ""
for l in phrase:
if l in letters:
pos = letters.index(l) - numberShift
if pos > 25:
pos = pos - 26
newPhrase += letters[pos]
else:
newPhrase += " "
print(newPhrase)
exit1 = input("Do you want to exit?")
if 'yes' in exit1:
exit()
这是您的代码的修复版本。正确的缩进在Python中非常重要,因为这是将代码分组到块中的方式。如果代码缩进错误,Python解释器和阅读程序的人都不能告诉您希望它做什么 我们可以将字母简化为单个字符串,而不是字符串的元组 我所做的主要改变是将字母以外的字符复制到newPhrase,而不移动它们。这意味着空格和标点符号会被复制,但也意味着数字和大写字母也会被复制 我还将你的程序放入一个大循环中,这样你想退出吗?东西是有意义的。否则,程序无论如何都将退出
letters = "abcdefghijklmnopqrstuvwxyz"
welcome = print("Hello there!")
while True:
#Encrypt
numberShift = int(input("How much do you wish to shift the letters? "))
phrase = input("Enter a phrase to be encrypted: ")
newPhrase = ""
for l in phrase:
#Only change characters that aren't in letters
if l in letters:
pos = letters.index(l) + numberShift
if pos > 25:
pos = pos - 26
l = letters[pos]
newPhrase += l
print(newPhrase)
#Decrypt
numberShift = int(input("How many times has the code you want to decrypt been shifted? "))
phrase = input("Enter a phrase to be decrypted: ")
newPhrase = ""
for l in phrase:
#Only change characters that aren't in letters
if l in letters:
pos = letters.index(l) - numberShift
if pos > 25:
pos = pos - 26
l = letters[pos]
newPhrase += l
print(newPhrase)
if 'yes' in input("Do you want to exit? "):
break
测试输出
你好!
您希望将字母移位多少?3.
输入一个需要加密的短语:在拉曼查的某个地方,在一个我不想记住名字的地方,不久前有一位绅士,他有一把长矛和一块古老的盾牌放在架子上,养着一匹瘦小的马和一只赛狗。
Vrphzkhhuh lq od pdqfkd,lq d sodfh zkrvh qdph I gr qrw fduh wr UHPPEHU,d jhqwohpdq olyhg qrw或QJ djr,rqh ri wkrvh zkr kdv d odqfh DQFGLHQW VKLHQW rq d vkhoi dqg nhhsv d VNLQB qdj d juhbkrxqg udflqj。
您要解密的代码被移位了多少次?3.
输入要解密的短语:Vrphzkhhuh lq od pdqfkd,lq d sodfh zkrvh qdph I gr qrw fduh wr UHPPEHU,d jhqwohpdq olyhg qrw或QJ djr,rqh ri wkrvh zkr kdv d odqfh dqflhqw VKHOG rq d VKHOG nhhsv d VNLQB qdj dqg d juhbkrxqg UDFLJ。
在拉曼查的某个地方,在一个我不记得名字的地方,不久前住着一位绅士,他有一把长矛和一块古老的盾牌放在架子上,养着一匹瘦瘦的马和一只赛狗。
你想退出吗?对
缩进已关闭,您可能需要修复。你到底有什么问题?@depperm:我不认为缩进有问题。看起来他只是漏掉了if部分的线条。缩进完全搞砸了。如果有相同的缩进,那么后面有for和right。首先修复缩进,很难说它应该做什么:@camconnolly您的代码不是有效的Python。错误的缩进只是一个风格问题——这是一个语法错误。请将generateKey的内容保存到新问题中。