Написал шифр vigenere в python, и я полностью потерялся в нем, кто-нибудь прикидывает мне руку и предлагает вещи, которые можно улучшить/заставить работать правильно? В настоящее время я получаю все виды ошибокШифр Vigenere в python
letters='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
print ("This program will take a keyword, and use it to encrypt plaintext.")
def keyword():
print ("Please enter your keyword")
keyword = input()
return keyword
def plaintext():
print ("Please enter your plaintext")
plaintext = input()
return plaintext
def translate (keyword, plaintext):
keywordtwo=0
number=0
keyword=keyword.upper()
length = len(plaintext)
lengthtwo=len(keyword)
for symbol in plaintext:
number=letters.find(symbol.upper())
if number!=-1:
number+=letters.find
num%=len(letters)
if symbol.isupper():
translated.append(letters[number])
elif symbol.islower():
translated.append(letters[number].lower())
if keywordtwo==len(keyword):
keywordtwo=0
else:
translated.append(symbol)
return ' '.join(translated)
keyword = keyword()
plaintext = plaintext()
translated = translate(keyword, plaintext)
print ("Your new text is:")
print (translate(keyword, plaintext))
Какие ошибки вы получаете? –
TypeError: неподдерживаемый тип операндов для + =: 'int' и 'builtin_function_or_method' является самым последним из них: @PieterWitvoet – bleh
number + = letters.find не кажется правильным, вам нужно передать аргумент, чтобы найти –