由randm到randn

"""
首先实现rand5到rand7
然后实现randn到randm
"""
from random import randint
def rand5():
    return randint(1,5)

def rand25():
    return 5*(rand5() -1)+rand5()

def rand7():
    x = float('inf')
    while (x>21):
        x = rand25()

    return x % 7+1

def randn(n):
    return randint(1,n)
def randn2(n):
    return n*(randn(n)-1)+randn(n)

def randm(m,n):
    x = float('inf')
    while(x>m*(int(n*n/m))):  # 此处取整
        x = randn2(n)

    return x%m + 1


if __name__ == "__main__":
    # print(rand7())
    print(randm(7,5))

我就不懂了,一堆教程都写的稀里糊涂,直接上代码不好么。。

posted @ 2020-12-03 21:19  小小马进阶笔记  阅读(187)  评论(0)    收藏  举报