Python: снова прокатывает кости, когда значение max randint

Метод jQuery Рошамбо не заботился о расшифровке URL

http://snipplr.com/view/26662/get-url-parameters-with-jquery-- Улучшено /

Просто добавлена ​​эта возможность и при добавлении в оператор return

return decodeURIComponent(results[1].replace(/\+/g, " ")) || 0;

Теперь вы можете найти обновленный gist:

$.urlParam = function(name){
var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
if (!results) { return 0; }
return decodeURIComponent(results[1].replace(/\+/g, " ")) || 0;
}

0
задан valignatev 13 July 2018 в 18:43
поделиться

2 ответа

Без рекурсии и с системой оценки:

from random import randint as ri

score_mapping = {
    0 : None,
    1 : [(1, 4),],
    2 : [(1, 6),],
    3 : [(1, 8),],
    4 : [(1,10),],
    5 : [(1, 6), (1, 6)],
    6 : [(1, 8), (1, 8)],
    7 : [(1, 10), (1, 10)],
    8 : [(1, 8), (1, 8), (1, 8)],
    9 : [(1, 10), (1, 10), (1, 10)],
    10 : [(1, 8), (1, 10), (1, 10), (1, 10)],
}

def action_roll_script(score, roll_again_at=20):
    return_value = 0

    while True:

        value = ri(1, 20)

        print(f'score={score} rolled value={value}')

        if score == 0:
            return_value += value
        else:
            return_value += sum(ri(vf, vt) for (vf, vt) in score_mapping[score])

        if value != roll_again_at:
            break

    return return_value

print(action_roll_script(0))

Возможный выход:

score=10 rolled value=20
score=10 rolled value=5
38
0
ответ дан Andrej Kesely 17 August 2018 в 12:20
поделиться

Попробуйте использовать рекурсию:

Я считаю, что вы ищете что-то вроде этого:

from random import randint as ri
MAX_DICE_NUMBER = 20
def roll_dice():
    attempt = ri(1, MAX_DICE_NUMBER)
    if attempt == MAX_DICE_NUMBER:
        return attempt + roll_dice()
    else:
        return attempt

def action_roll_script(attribute):
    print("You got a " + attribute + " roll of " + str(roll_dice()) + "!")

action_roll_script('power')
>>> You got a power roll of 16!

Я не понимал, зачем вам нужен счет, хотя ...

Но этот фрагмент все еще может быть полезен :)

0
ответ дан marcelotokarnia 17 August 2018 в 12:20
поделиться
  • 1
    Спасибо огромное! & Quot; Оценка & Quot; ссылается на соответствующий атрибут, который сканируется, который определяет, какие кости / сколько сканируются. Я планирую в конечном итоге включить это в бот Discord, который возьмет функцию и три аргумента: атрибут, оценку атрибута и уровень преимущества / недостатка (который я еще не понял). Я сделаю это! Еще раз спасибо! – P. Monroe 16 July 2018 в 13:44
  • 2
    Надеюсь, это поможет. Пожалуйста, также подумайте о принятии этого ответа: D – marcelotokarnia 16 July 2018 в 23:36
Другие вопросы по тегам:

Похожие вопросы: