создать список из от 10 до 13 рандомных чисел двух месяцев

вот кое-что попробовал, но выдаёт ошибку

e=[]
e1=calendar.prmonth(2021,11)
e2=calendar.prmonth(2021,12)
e=e.append(e1)
b=random.randint(10,13)
a=random.choices(e,k=b)
print(a)

P.s Попробовал вот такую штуку, для моей задачи должно подойти

import calendar
import random
m1=calendar.monthrange(2021,11)[1]
m2=calendar.monthrange(2021,12)[1]
s1=list(range(1,m1+1))
s2=list(range(1,m2+1))
s=s1+s2
a=random.randint(10,13)
b=random.choices(s,k=a)
print(a)
print(b)

Ответы (2 шт):

Автор решения: Andrew

Кажется Вашим решением может быть этот код:

import pandas as pd
from datetime import datetime
import random

year, month, day = 2021, 10, 15

start_date = datetime(year, month, day)
end_date = datetime(year, month + 1, day)

res = random.choices(pd.date_range(
    min(start_date, end_date),
    max(start_date, end_date)
).strftime('%d/%m/%Y').tolist(), k=10) # где k - количество дат, которые будут рандомно выбраны из полученного списка

print(res)

Output:

['18/10/2021', '20/10/2021', '08/11/2021', '30/10/2021', '21/10/2021', '05/11/2021', '29/10/2021', '28/10/2021', '01/11/2021', '29/10/2021']
→ Ссылка
Автор решения: SergFSM

Немного неуклюжий вариант, но вроде работает как надо:

from random import randint, choices
from datetime import date, timedelta

s = date(2021,11,1)
e = date(2021,12,31)

dates = [(s + timedelta(days=i)).strftime('%d/%m/%Y') for i in range((e - s).days +1)]
rand_dates = choices(dates, k=randint(10,13))

print(*rand_dates, sep='\n')
'''
10/12/2021
27/11/2021
30/11/2021
17/11/2021
05/12/2021
30/12/2021
18/12/2021
24/11/2021
01/11/2021
05/12/2021
07/11/2021
28/12/2021
→ Ссылка