Форум сайта python.su
. Напишите программу для сейфа:
1) дверцу сейфа можно открыть только по понедельникам, средам и пятницам с 8 до 17 часов;
2) для идентификации пользователя применяется двухфакторная аутентификация – сначала пользователь вводит логин и пароль, затем программа сравнивает введенные данные с исходными и, если все верно, генерирует четырехзначный код (случайный набор цифр), который пользователь после получения вводит с клавиатуры;
3) после проверки правильности ввода кода дверь сейфа открывается;
4) при ошибке на любом этапе проверки происходит вывод сообщения о блокировке и выход из программы.
Офлайн
Раздели задачу на составляющие части.
Потом возьми одну часть и раздели эту часть на составляющие части.
Потом возьми одну часть части и раздели эту часть части на составляющие части.
Делай так, пока не получится такое разделение на части, что эти части становится возможно выполнить.
Вот мы от всей задачи отделяем одну часть
Viktoria7Простая ли она?
1) дверцу сейфа можно открыть только по понедельникам, средам и пятницам с 8 до 17 часов;
Viktoria7Простая ли она?
1) дверцу сейфа можно открыть только по понедельникам, средам и пятницам
Viktoria7Простая ли она?
1) дверцу сейфа можно открыть только по понедельникам
Отредактировано py.user.next (Авг. 12, 2024 03:06:16)
Офлайн
Viktoria7
1) дверцу сейфа можно открыть только по понедельникам
>>> import datetime >>> >>> dt = datetime.datetime.now() >>> >>> day_of_week = dt.isoweekday() >>> day_of_week 1 >>> >>> day_of_week_str = '{:%a}'.format(dt) >>> day_of_week_str 'Mon' >>>
>>> import datetime >>> >>> def get_week_day(): ... return datetime.datetime.now().isoweekday() ... >>> week_day = get_week_day() >>> >>> if week_day == 1: ... print('Понедельник') ... print('открыто') ... else: ... print('закрыто') ... Понедельник открыто >>>
Отредактировано py.user.next (Авг. 12, 2024 03:02:09)
Офлайн
import random
import datetime
def get_week_day():
return datetime.datetime.now().isoweekday()
week_day=get_week_day()
d1,3,5)
def hourofday():
return datetime.datetime.now().hour
hour = hourofday()
if week_day==d and hourofday()>=8 and hourofday()<=17:
print('пн, ср, пт')
print('open')
if week_day!=d and hourofday()<=8 and hourofday()>17:
print('вт,чт,сб')
print('close')
a=input('Введите логин:')
b=input('Введите пароль:')
login='12345'
parol='123'
if a=='12345' and b=='123':
print('',())
c=input('Введите код из четырёх цифр:')
print('Вы вошли в систему')
if a!=login and b!=parol:
print(“Неверный логин или пароль”)
print(“Сейф закрыт”)
Здравствуйте. Помогите пожалуйста. код не работает .
. Напишите программу для сейфа:
1) дверцу сейфа можно открыть только по понедельникам, средам и пятницам с 8 до 17 часов;
2) для идентификации пользователя применяется двухфакторная аутентификация – сначала пользователь вводит логин и пароль, затем программа сравнивает введенные данные с исходными и, если все верно, генерирует четырехзначный код (случайный набор цифр), который пользователь после получения вводит с клавиатуры;
3) после проверки правильности ввода кода дверь сейфа открывается;
4) при ошибке на любом этапе проверки происходит вывод сообщения о блокировке и выход из программы.
Онлайн
Офлайн
>>> import datetime >>> import random >>> >>> def get_week_day(): ... return datetime.datetime.now().isoweekday() ... >>> def get_hour(): ... return datetime.datetime.now().hour ... >>> def get_login(): ... out = '' ... while out == '': ... out = input('Enter login: ') ... return out ... >>> def get_password(): ... out = '' ... while out == '': ... out = input('Enter password: ') ... return out ... >>> def check_user(login, password): ... secret_login = 'abc' ... secret_password = '!@#$%' ... out = (login == secret_login and ... password == secret_password) ... return out ... >>> def print_number(): ... number = random.randint(1000, 9999) ... print('Your number is', number) ... return number ... >>> def get_number(): ... text = '' ... while text == '' or not text.isdigit(): ... text = input('Enter number: ') ... out = int(text) ... return out ... >>> def check_number(number, store): ... return number == store ... >>> def grant_access(): ... print('The door is opened.') ... >>> def block_access(): ... print('The door is closed.') ... >>> def runall(): ... week_day = get_week_day() ... hour = get_hour() ... if not (week_day in (1, 3, 5) and 8 <= hour <= 17): ... block_access() ... return ... login = get_login() ... password = get_password() ... if not check_user(login, password): ... block_access() ... return ... number_stored = print_number() ... number = get_number() ... if not check_number(number, number_stored): ... block_access() ... return ... grant_access() ... >>> runall() Enter login: abc Enter password: !@#$% Your number is 8790 Enter number: 8790 The door is opened. >>>
Офлайн
Укажите также, на каком языке программирования или платформе вы хотите разработать программу.
Drive Mad
Офлайн
import random
import getpass
from datetime import datetime
# Define allowed days and hours
ALLOWED_DAYS = ["Monday", "Wednesday", "Friday"]
START_HOUR = 8
END_HOUR = 17
# Preset login credentials
CORRECT_LOGIN = "admin"
CORRECT_PASSWORD = "secure123"
def is_safe_accessible():
"""Check if the safe can be accessed based on day and time."""
now = datetime.now()
current_day = now.strftime("%A")
current_hour = now.hour
return current_day in ALLOWED_DAYS and START_HOUR <= current_hour < END_HOUR
def authenticate_user():
"""Authenticate the user with a login and password."""
login = input("Enter login: ")
password = getpass.getpass("Enter password: ")
return login == CORRECT_LOGIN and password == CORRECT_PASSWORD
def generate_code():
"""Generate a random four-digit code."""
return random.randint(1000, 9999)
def main():
"""Main function to simulate the safe system."""
if not is_safe_accessible():
print("Access denied: The safe can only be opened on Mondays, Wednesdays, and Fridays between 8 AM and 5 PM.")
return
print("Access time is valid.")
# Step 1: Authenticate user
if not authenticate_user():
print("Authentication failed. The safe is locked.")
return
print("Authentication successful.")
# Step 2: Generate and verify code
code = generate_code()
print(f"Your verification code is: {code}")
user_code = input("Enter the verification code: ")
if str(code) == user_code:
print("Code verified. The safe door is now open.")
else:
print("Incorrect code. The safe is locked.")
if __name__ == "__main__":
main()
Офлайн