Вы можете использовать простую форму для l oop вот так:
d = {"11": 1, "05": 2, "04": 3, "03": 4, "02": 5, "01": 6}
A = int(input("A: "))
B = int(input("B: "))
for k,v in d.items():
if int(k) >= A and int(k) <= B:
print(k,v)
Вы также можете использовать функцию filter
для возврата итератора к элементам в словаре, который вас интересует:
it = filter(lambda item: int(item[0]) >= A and int(item[0]) <= B, d.items())
for item in it:
print(item)
Или вы можете использовать понимание словаря, чтобы получить новый словарь отфильтрованных элементов:
sub_dict = {k:v for k,v in d.items() if int(k) >= A and int(k) <= B}
print(sub_dict)