0
我和我的代码有点不一样。我试图做到这一点,所以一旦我输入消息,消息就会被加密成新的加密消息。之后,用户被要求猜测其中一个字母是什么,如果这个猜测是正确的,那么加密的信息将被打印出来,解密后的信件现在可以正确显示,并显示为大写。我的问题是保留解密的信件只是猜测,一旦用户正确猜测它,永久保持显示。这样用户就可以看到他已经正确地猜出了字母,并且信息会开始显现。这是我的完整代码,我认为我需要帮助的区域在底部分开。如何用正确的猜字母打印加密信息?
import random
message1 = raw_input("Enter 50 to 150 characters: ")
message1 = message1.lower()
message2 = ""
b = ""
insults = ("You suck, try again.", "Are you this dumb?", "You're a genius. JK, idiot.", "Youre making me fall asleep." "You got this, next time, probably not.")
compliments = ("You are the best.", "How do you do it?", "Teach me senpai.", "Your IQ must be over like 150!", "I dream to be as smart as you.")
alpha = ("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")
cypher = list(alpha)
random.shuffle(cypher)
if len(message1)<50:
print insults[random.randint(0,4)]
exit()
elif len(message1)>150:
print insults[random.randint(0,4)]
exit()
else:
message2= ""
for b in message1:
if not b.isalpha():
message2 += b;
else:
message2 += cypher[(ord(b)- ord('a'))]
print message1
print message2
print alpha
print cypher
number_guess = 0
while number_guess < 25 and message2.lower() != message1:
number_guess + 1
guess = raw_input("Enter a guess in the form a=b:")
guess = guess.lower()
if len(guess) != 3:
print insults[random.randint(0,4)]
elif not guess[0].isalpha():
print insults[random.randint(0,4)]
elif not guess[2].isalpha():
print insults[random.randint(0,4)]
elif guess[1] != (chr(61)):
print insults[random.randint(0,4)]
exit()
letter = cypher[(ord(guess[2])-ord('a'))]
print letter
if letter == guess[0]:
print message2.replace(guess[0], guess[2].upper())
print compliments[random.randint(0,4)]
else:
print insults[random.randint(0,4)]
在哪里,我相信这个问题会得到解决:
letter = cypher[(ord(guess[2])-ord('a'))]
print letter
if letter == guess[0]:
print message2.replace(guess[0], guess[2].upper())
print compliments[random.randint(0,4)]
else:
print insults[random.randint(0,4)]
谢谢!我非常接近想出来,但我不确定我可以没有你的评论,我欣赏它! – kanyeezus2020 2014-09-11 01:33:48