Untitled
unknown
plain_text
a year ago
1.3 kB
9
Indexable
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)Editor is loading...
Leave a Comment