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()`, ви отримаєте новий результат, оскільки операція випадково обирається кожного разу.
def random_number():
number = randint(1000,9999)
global res
res = [int(x) for x in str(number)]
return res
number = random_number()
print(number)
def number_check(user_number):
count_cows = 0
count_bulls = 0
list_user_number = [int(i) for i in str(user_number)]
for item, i in enumerate(set(number)):
if i in list_user_number:
count_cows += 1
_bulls_cow['cows'] = count_cows
else:
count_cows += 0
_bulls_cow['cows'] = count_cows
for x in enumerate(number):
for k in enumerate(list_user_number):
if k == x:
count_bulls += 1
_bulls_cow['bulls'] = count_bulls
else:
count_bulls += 0
_bulls_cow['bulls'] = count_bulls
return _bulls_cow
print(number_check(user_number))
Объяснение: