2017-02-08 5 views
0

Итак, у меня есть переменная, которая создает случайное число от 0 до 10, однако я бы не хотел, чтобы случайное число было создано как 5. Как мне добавить добавление исключений в random.randint в Python? То, что я ниже не делает этого:Как добавить исключение в random.randint в Python?

number = random.randint(0, 10) !=5 

Это возвращает только Истина или Ложь на основе равна ли случайное число 5 или нет ... как я могу это исправить?

+0

Почему я получил нижний предел? – CoopDaddio

+1

Что вы подразумеваете под «добавлением исключений»? Вы хотите изменить, как «random.randint» вызывает исключения? – Goyo

ответ

5

Вы можете сделать

number = random.randint(0,10) 
while number == 5: 
    number = random.randint(0,10) 
2

Как насчет

random.choice([x for x in range(11) if x != 5]) 

для однострочника

1

Если вы на самом деле хотите, ошибка будет поднят, то вы можете использовать assert

number = random.randint(0, 10) 
assert number != 5 

или raise Ошибка, если ваше условие выполнено.

number = random.randint(0, 10) 
if number == 5: 
    raise ValueError # or another Exception of choice 

Или, если вы хотите продолжать пытаться, пока вы не получите случайное число, которое не 5, а затем

while True: 
    number = random.randint(0, 10) 
    if number != 5: 
     break 
+0

Я не думаю, что он говорит об исключениях в значении слова Python. –

+1

@TimPietzcker Поэтому почему я дал оба варианта. –

0

! = Фактически оператор, который возвращает истинное или ложное попробовать это:

import random 
l=[i for i in range(1,11)] 
l.remove(5) 
print random.choice(l)