#python #encryption
#python #шифрование
Вопрос:
Idk почему это не выводится в файл, есть идеи или помощь?
def encrypt(text, key):
alphabet = "abcdefghijklmnopqrstuvwxyz"
text = text.lower()
cipherText = ""
for ch in text:
idx = alphabet.find(ch)
cipherText = cipherText key[idx]
return cipherText
def decrypt(cipherText, key):
alphabet = "abcdefghijklmnopqrstuvwxyz"
cipherText = cipherText.lower()
text = ""
for ch in cipherText:
idx = key.find(ch)
text = text alphabet[idx]
return text
def main():
userInput = input("Operation (encrypt, decrypt, exit): ")
while(userInput != "exit"):
if(userInput == "encrypt"):
in_file = open(input("Input file name: "), 'r')
out_file = open(input("Output file name: "), 'w')
password = input("Password: ")
for line in in_file:
read_line = in_file.readline()
encrypted_line = encrypt(read_line, password)
out_file.write(encrypted_line)
print(encrypted_line)
in_file.close()
out_file.close()
elif(userInput == "decrypt"):
in_file = open(input("Input file name: "), 'r')
out_file = open(input("Output file name: "), 'w')
password = input("Password: ")
for line in in_file:
read_line = in_file.readline()
decrypted_line = decrypt(read_line, password)
out_file.write(decrypted_line)
print(decrypted_line)
in_file.close()
out_file.close()
else:
print("Invalid choice!")
userInput = input("Operation (encrypt, decrypt, exit): ")
main()
Комментарии:
1. В чем вопрос? Пожалуйста, не забрасывайте код на наши головы без предоставления информации о том, что этот код делает или должен делать.
2. получаете ли вы какие-либо обратные данные? Печать (decrypted_line) что-то печатает?
Ответ №1:
Я могу придумать 2 дорожки, по которым нужно следовать:
- используйте
raw_input
, который возвращает строку, вместоinput
того, который возвращает функцию (которая делает недействительными ваши тестыuserInput == "decrypt"
и подобные) for line in in_file:
достаточно просмотреть файл, вам не нужно добавлятьread_line = in_file.readline()