Мой друг написал калькулятор шансов в бою для Warlords на Matlab, который я хотел бы воспроизвести на Python 3. Я не очень разбираюсь в Python и совсем не знаю Matlab, но я вроде как вижу, что происходит в Матлаб код. Хотя эта строчка меня немного смутила.
r1 = ceil((rand*10));
Это запрос на потолок случайного числа с плавающей запятой от 0 до 1, а затем умножение на 10?
Это действительно код MATLAB? Это должно быть допустимо и в Python
@roganjosh: любой достаточно короткий фрагмент кода действителен на любом языке программирования. :)
@roganjosh Я думаю, что для python вам нужно будет импортировать математику, а затем вызвать ее как math.ceil () ... аналогичная идея для rand. (Я уверен, что вы это знаете, поэтому упомяните об этом для будущих читателей этой ветки.)
@ AlexS1 Правда. Но вы также можете сделать from math import ceil
, так что в этом нет ничего, что не могло бы быть действительным python. Точка с запятой игнорируется
ранд дает случайное число в интервале (0,1)
, поэтому rand*10
дает случайное число в (0,10)
(с равномерной вероятностью). ceil((rand*10))
дает случайное целое число от 1
до 10
включительно.
Таким образом, соответствующий Python:
random.randint(1,10)
Чтобы приведенный выше код работал, вам понадобится import random
ранее в сценарии.
Не указано, интервал равен 0 и 1? Вот что бросило меня. Спасибо за все ответы. По-видимому, я мог бы просто запустить код на Python и понять это таким образом.
наоборот, это умножение случайного числа с плавающей запятой на 10, тогда принимает функцию потолка