Untitled
unknown
plain_text
18 days ago
1.3 kB
2
Indexable
Never
import random import time import string def generate_nuka_code(store_id, year, month, cashier_id): # Pierwsze 8 znaków - ID lokalu store_id = store_id.ljust(8, 'X') # Wypełnienie do 8 znaków, jeśli za krótkie # Kolejne 9 znaków - Timestamp timestamp = str(int(time.time()))[-9:] # Użycie ostatnich 9 cyfr z timestampu # Kolejny 1 znak - Rok year = str(year)[-1] # Ostatnia cyfra roku # Kolejne 2 znaki - Miesiąc month = str(month).zfill(2) # Uzupełnianie do 2 cyfr # Kolejne 11 znaków - Numer kasy cashier_id = cashier_id.ljust(11, 'X') # Wypełnienie do 11 znaków, jeśli za krótkie # Składanie kodu raw_code = store_id + timestamp + year + month + cashier_id # Obliczanie sumy kontrolnej checksum = calculate_checksum(raw_code) # Finalny kod final_code = raw_code + checksum return final_code def calculate_checksum(code): # Prosty przykład sumy kontrolnej - suma wartości ASCII znaków modulo 10 return str(sum(ord(c) for c in code) % 10) # Przykładowe dane wejściowe store_id = "CCCCCZ4H" # ID lokalu year = 2024 month = 8 cashier_id = "B6TXFDDCMWR" # ID kasy # Generowanie kodu nuka_code = generate_nuka_code(store_id, year, month, cashier_id) print("Wygenerowany kod:", nuka_code)
Leave a Comment