Как исключать некие числа с random.randint?

Будет какая-то возможность исключать например: номер 50, 99, 80 из-за для того, чтобы он не был напечатан?

x = (random.randint(1, 100))
print(x)
1
задан 08.11.2019, 18:58
2 ответа

Я копирую тебя, такой который то, что он помещает в этот спрашивает:

from random import choice

print choice([i for i in range(0,9) if i not in [2,5,7]])

В твоем случае print choice([i for i in range(1,100) if i not in [50,99,80]])

4
ответ дан 01.12.2019, 12:15
  • 1
    В самом деле, в случае é l serí в range(1, 101), потому что ранг, использованный random.randint содержащий. – César 08.11.2019, 18:55
  • 2
    Верный @Cé sar, я это изменяю, большое спасибо. – Adrián Sanz Wallace 28.11.2019, 10:52

Одна aproximaciГіn, кажется, но немного отличная от ответа AdriГЎn, каждый раз, когда список случаев был относительно pequeГ±a:

  • , производить список со всеми это возможная стоимость, которые должны выбирать
  • производить стоимость random, но чтобы использовать как Г-ndice selecciГіn списка.

    import random
    elementos = [n for n in range(0, 101) if n not in [50, 99, 80]]
    x = elementos[random.randint(0, len(elementos))]
    

Возможно может быть mГЎs Гіptima, если количество исключенной стоимости важно.

3
ответ дан 01.12.2019, 12:15
  • 1
    ú ltima часть deberí чтобы начинаться 0, serí в elementos[random.randint(0, len(elementos) - 1)] а está s исключая первый элемент, и в конце концов restartle один для того, чтобы не одного IndexError. Помни, что это положения списка. – César 08.11.2019, 21:41
  • 2
    @Cé sar, это полностью верно, он был в способе R (dó nde положения трогаются 1) – Patricio Moracho 08.11.2019, 21:47
  • 3
    До настоящего времени я не понимаю из-за qué демоны они ocurrió в те R начинаться с 1. Я это не использую очень непрерывно но для maestrí в нас enseñ аронник немного и все andá bamos как сумасшедшие из-за этой decisió n, что tomó R. – César 08.11.2019, 21:49