• [^] # Re: C'est bien simple

    Posté par . En réponse au message [résolu] Problème de proba. Évalué à 4.

    Attention aux bornes:
    si p = 1 et randint = 0, alors tu obtiens:;
    int(0 > 0) = int(False) = 0 => 'A'

    mais si tu mets un >= alors tu auras le pb dans le cas ou p = 0 et randint = 1:
    int(1 >= 1) = int(True) => 'B'

    Pour éviter ça, je serais plutôt sur une approche d'exclusion des cas p=0 et p=1:

    import random
    RAND_MAX = 1000
    p = 0.25 # proba de B
    if p == 0 or p == 1:
     source = p
    else:
     source = int(random.randint(0, RAND_MAX) > (1-p) * RAND_MAX)
    print(["A", "B"][source])