Изменение части моего кода вывода на буквенно-цифровые символы в python - PullRequest
0 голосов
/ 07 апреля 2020

У меня есть скрипт, который комбинирует случайную строку с отметкой времени -

def randomStringDigits(stringLength=6):
    """Generate a random string of letters and digits """
    lettersAndDigits = string.ascii_letters + string.digits
    return ''.join(random.choice(lettersAndDigits) for i in range(stringLength))

letters = string.ascii_uppercase

import datetime
# Current time
now = datetime.datetime.now()
datestr = now.strftime("%m%d%H%M%Y")

rdmCode = randomStringDigits(6) + datestr

Я хотел бы изменить месяц и час на их alphanumeri c partner aka 01 = a, 02 = b et c.

Желательно, чтобы месяц был прописным, а час - прописным. Например, этот код напечатал бы - dtwk0T040713492020, и я хотел бы, чтобы он был dtwk0T D 07 m 492020

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

Спасибо за вашу помощь заранее.

1 Ответ

0 голосов
/ 07 апреля 2020

создать словарь, соединяя номер месяца с буквой:

mdict={1:'A',2:'B'}

Вы просто добавляете буквы между:

datestr = now.strftime(mdict[now.month]+"%mm%d%H%M%Y")

Примечание: если число <-> Буквенное отношение в алфавитном порядке вы можете использовать:

chr(ord('@')+number) #Capital letters
chr(ord('`')+number) #lower case letters

т.е. вы можете использовать что-то вроде этого:

datestr = now.strftime(chr(ord('@')+now.month)+"%d"+chr(ord('`')+now.hour)+"%M%Y") 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...