public static Throwable getRootCause(Throwable e) {
if (e.getCause() == null) return e;
return getRootCause(e.getCause());
}
class Point:
pass
class Point3D:
def __init___(self, x, y, z):
self.x = x
self.y = y
self.z = z
p1 = Point3D(1, 2, 15) # Создать объект
dir(p1) # Вывести содержимое
p1 = Point3D(1, 2, 15) # Создать объект
print(p1.x) # вывести координату x
print(p1.y) # вывести координату y
print(p1.z) # вывести координату z
import textwrap
alf_uppercase = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ'
alf_lowercase = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'
input_phrase = input('Введите фразу: ')
keyword = input('Слово: ')
action = str(input('1 - шифр, 2 - дешифр: '))
def encrypt_text(text):
length = 33
result = ''
for i in range(len(input_phrase)):
if input_phrase[i] in alf_lowercase:
original = input_phrase[i]
key = keyword[i]
position = alf_lowercase.find(original)
key_position = alf_lowercase.find(key)
encrypted_char = (position + key_position) % length
result += alf_lowercase[encrypted_char]
elif input_phrase[i] in alf_uppercase:
original = input_phrase[i]
key = keyword[i]
position = alf_uppercase.find(original)
key_position = alf_lowercase.find(key)
encrypted_char = (position + key_position) % length
result += alf_uppercase[encrypted_char]
else:
result += input_phrase[i]
return result
def decrypt_text(text):
length = 33
result = ''
for i in range(len(input_phrase)):
if input_phrase[i] in alf_lowercase:
original = input_phrase[i]
key = keyword[i]
position = alf_lowercase.find(original)
key_position = alf_lowercase.find(key)
decrypted_char = (position - key_position) % length
result += alf_lowercase[decrypted_char]
elif input_phrase[i] in alf_uppercase:
original = input_phrase[i]
key = keyword[i]
position = alf_uppercase.find(original)
key_position = alf_lowercase.find(key)
decrypted_char = (position - key_position) % length
result += alf_uppercase[decrypted_char]
else:
result += input_phrase[i]
return result
spaces = []
for i in range(len(input_phrase)):
if input_phrase[i] == ' ':
spaces.append(i)
input_phrase = input_phrase.replace(' ', '')
symbols = []
characters = []
for i in range(len(input_phrase)):
if input_phrase[i] not in alf_lowercase and input_phrase[i] not in alf_uppercase:
symbols.append(i)
characters.append(input_phrase[i])
else:
continue
while len(input_phrase) != len(keyword):
for i in range(0, len(keyword)):
if len(input_phrase) != len(keyword):
keyword += keyword[i]
for i in range(len(symbols)):
position = symbols[i]
keyword = keyword[:position] + characters[i] + keyword[position:]
keyword = keyword[:len(input_phrase)]
move_dict = {
'1': encrypt_text,
'2': decrypt_text,
}
encrypted_text = move_dict.get(action)(action)
for i in range(len(spaces)):
placement = spaces[i]
encrypted_text = encrypted_text[:placement] + ' ' + encrypted_text[placement:]
print(textwrap.fill(encrypted_text, 157))