Попрацюйте над об’єктом-шифратором.
На вхід подаються числа, які відразу приховуються і з якими
всередині інкапсульованого методу проводиться випадкова
математична операція. Якщо ж вивести об’єкт, на екрані
з’явиться результат
Напищіть будьласка на пчармі Даю 70 балів
Answers & Comments
Ответ:
import random
class Cipher:
def __init__(self, number):
self.__number = number
def __encapsulate(self):
operation = random.choice(['+', '-', '*', '/'])
operand = random.randint(1, 10)
if operation == '+':
self.__number += operand
elif operation == '-':
self.__number -= operand
elif operation == '*':
self.__number *= operand
elif operation == '/':
self.__number /= operand
def get_result(self):
self.__encapsulate()
return self.__number
# Використання об'єкта-шифратора
number = int(input("Введіть число: "))
cipher = Cipher(number)
result = cipher.get_result()
print("Результат: ", result)
Объяснение:
цьому прикладі створюється клас `Cipher`, який має приватне поле `__number` для зберігання числа. Метод `__encapsulate()` випадковим чином обирає математичну операцію (додавання, віднімання, множення або ділення) та випадковий операнд, і застосовує цю операцію до числа. Метод `get_result()` повертає результат шифрування числа.
При запуску програми ви будете звернені до введення числа. Потім об'єкт-шифратор зашифрує це число, виконавши випадкову математичну операцію. Результат буде виведений на екрані. Кожний раз, коли ви викликаєте `get_result()`, ви отримаєте новий результат, оскільки операція випадково обирається кожного разу.