User 13970642 Ответов: 3

Как ответить на этот вопрос на языке Python?


Здравствуйте, я новичок в программировании, и мне было интересно, может ли кто-нибудь помочь мне с этим вопросом?


Компания хочет передавать данные по телефону, но она обеспокоена тем, что ее телефоны могут прослушиваться. Все его данные передаются в виде четырехзначных целых чисел. Он попросил вас написать программу, которая будет шифровать его данные, чтобы они могли передаваться более безопасно.
Процесс шифрования происходит следующим образом:
Замените каждую цифру (сумма этой цифры плюс 7) модулем 10. Затем замените первую цифру на третью, а вторую-на четвертую. Полученное целое число будет зашифрованным целым числом.
Вы должны реализовать это шифрование, написав функцию с именем encrypt, которая будет принимать четырехзначное целое число в качестве параметра и возвращать зашифрованное целое число вызывающему объекту.

Напишите другую функцию с именем decrypt, которая принимает зашифрованное четырехзначное целое число и расшифровывает его, чтобы сформировать исходное число.
Реализуйте оба метода в программе/модуле с именем security.py. Включите в этот модуль основную функцию, которая будет запрашивать у пользователя исходные данные и вызывать функцию encrypt для шифрования, а также вызывать функцию decrypt для дешифрования, передавая зашифрованное целое число. В обоих случаях вы должны отобразить результат в точном 4-значном формате.

Что я уже пробовал:

деф главная():

IntInput = int(input("введите здесь целое число: "))

a = IntInput / 1000
b = ( IntInput / 100 ) % 10
c = ( IntInput / 10 ) % 10
d = IntInput % 10

3 Ответов

Рейтинг:
2

OriginalGriff

Мы не делаем домашнее задание: оно задано не просто так. Она существует для того, чтобы вы думали о том, что вам сказали, и пытались понять это. Он также существует для того, чтобы ваш наставник мог определить области, в которых вы слабы, и сосредоточить больше внимания на корректирующих действиях.

Прочтите инструкции и подумайте о том, что они говорят вам делать: в настоящий момент Вы, кажется, игнорируете большинство из них ...
Попробуйте сами, возможно, вы обнаружите, что это не так сложно, как вы думаете!

Если вы столкнетесь с конкретной проблемой, то, пожалуйста, спросите об этом, и мы сделаем все возможное, чтобы помочь. Но мы не собираемся делать все это для вас!


Рейтинг:
1

Richard MacCutchan

Вам нужно определить две функции:
1. encrypt - который принимает целое число, преобразует его, как описано в вашем вопросе, и возвращает зашифрованное значение.
2. расшифровать - что полностью меняет описанный выше процесс.

Так что ваша программа будет выглядеть примерно так:

def encrypt(self, number):
    # add the encrypting code here

def decrypt(self, number):
    # add the decrypting code here

    # start of main function

while True:
    number = int(input("Please enter a number greater than 999: "))
    if number < 1000:
        break
    xnumber = encrypt(number)
    print("Encrypted value =", xnumber)
    number = decrypt(xnumber)
    print("Decrypted value =", number)


Рейтинг:
1

Patrice T

Цитата:
Я новичок в программировании, и мне было интересно, может ли кто-нибудь помочь мне с этим вопросом?

Итак, вы не пытаетесь решить проблему самостоятельно, у вас нет вопросов, вы просто хотите, чтобы мы сделали вашу домашнюю работу.
Домашние задания-это упрощенные версии тех задач, которые вам придется решать в реальной жизни. цель это обучение и практикующий.

Возьмите лист бумаги и карандаш и решите задачу вручную. То, как вы решили проблему вручную, в основном является вашим алгоритмом.

Мы не делаем вашу домашнюю работу.
Домашнее задание не предназначено для проверки ваших навыков просить других людей сделать вашу работу, оно предназначено для того, чтобы заставить вас думать и помочь вашему учителю проверить ваше понимание курсов, которые вы прошли, а также проблем, которые вы испытываете при их применении.
Любая ваша неудача поможет учителю выявить ваши слабости и наметить меры по исправлению положения.
Любая ваша неудача поможет вам узнать, что работает, а что нет, это называется "методом проб и ошибок".
Так что попробуйте, перечитайте свои уроки и приступайте к работе. Если вы застряли на конкретной проблеме, покажите свой код и объясните эту точную проблему, мы можем помочь.

Как программист, ваша задача-создавать алгоритмы это решает конкретные проблемы, и вы не можете полагаться на кого-то другого, чтобы вечно делать это за вас, поэтому есть время, когда вам придется научиться этому. И чем скорее, тем лучше.
Когда вы просто просите решение, это похоже на попытку научиться водить машину, обучая кого-то другого.
Создание алгоритма - это в основном поиск математики и необходимая адаптация к вашей реальной проблеме.