Извлечение по ключу произвольному числу

Neko_Varenick

Новичок
Пользователь
Июн 12, 2021
1
0
1
Как сделать автоматическое извлечение из словаря по цифре ключу?
Python:
import random

chance: int = random.randint(1, 11) #наследство

if chance in frozenset(range(1, 10, 1)):
#    print("рарка")
    chance: int = random.randint(1, 11)
    if chance in frozenset(range(1,5, 1)):
#        print("set")
        chance: int = random.randint(1, 24)  #вещи
        drop = {(1, 4): 'set helmet',(4, 7): 'set choker',(7, 10): 'set gloves',(10, 13): 'set armor',(13,16): 'set trousers',(16, 19): 'set boots',(19, 22): 'set bijouterie',(22, 24): 'set weapon'}
    if chance in frozenset(range(5, 11, 1)):
#        print("unset")
        chance: int = random.randint(1, 24)  #вещи
        drop = {(1, 4): 'unset helmet',(4, 7): 'unset choker',(7, 10): 'unset gloves',(10, 13): 'unset armor',(13,16): 'unset trousers',(16, 19): 'unset boots',(19, 22): 'unset bijouterie',(22, 24): 'unset weapon'}

if chance in frozenset(range(10, 11, 1)):
#    print("эпик")
    chance: int = random.randint(1, 11)
    if chance in frozenset(range(1,5, 1)):
#        print("set")
        chance: int = random.randint(1, 24)  #вещи
        drop = {(1, 4): 'set helmet',(4, 7): 'set choker',(7, 10): 'set gloves',(10, 13): 'set armor',(13,16): 'set trousers',(16, 19): 'set boots',(19, 22): 'set bijouterie',(22, 24): 'set weapon'}
    if chance in frozenset(range(5, 11, 1)):
#        print("unset")
        chance: int = random.randint(1, 24)  #вещи
        drop = {(1, 4): 'unset helmet',(4, 7): 'unset choker',(7, 10): 'unset gloves',(10, 13): 'unset armor',(13,16): 'unset trousers',(16, 19): 'unset boots',(19, 22): 'unset bijouterie',(22, 24): 'unset weapon'}
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Как сделать автоматическое извлечение из словаря по цифре ключу?
Если ключи в словарях задать с помощью range, то можно так например:
Python:
import random

chance: int = random.randint(1, 11)  # наследство

if chance in range(1, 10):
    print("рарка")
else:
    print("эпик")

chance: int = random.randint(1, 11) # действие
action = ''
if chance in range(1, 6):
    action = 'set '
else:
    action = 'unset '

chance: int = random.randint(1, 24)  # вещи
drop = {range(1, 4): 'helmet',
        range(4, 7): 'choker',
        range(7, 10): 'gloves',
        range(10, 13): 'armor',
        range(13, 16): 'trousers',
        range(16, 19): 'boots',
        range(19, 22): 'bijouterie',
        range(22, 25): 'weapon'}

[print(action + drop[key]) for key in drop if chance in key]
 
Последнее редактирование:
  • Мне нравится
Реакции: Neko_Varenick

Форум IT Специалистов