Python随机数,不包括一个变量

时间:2015-04-22 17:15:21

标签: python variables random

除了存储在变量中的一个数字之外,是否可以创建一个随机数变量?

例如:

import random
x = raw_input("Number: ")
y = random.randint(1,6)

因此变量x永远不会是y

6 个答案:

答案 0 :(得分:1)

试试这个:

> data <- data.frame(a=1:3, b=4:6)
> cbind(data, 1:3)
  a b 1:3
1 1 4   1
2 2 5   2
3 3 6   3
> cbind(data, ' '=1:3)
  a b  
1 1 4 1
2 2 5 2
3 3 6 3

## And just to see for yourself that the column name is not really empty...
> names(cbind(data, ' '=1:3))
[1] "a" "b" " "

答案 1 :(得分:1)

我建议您使用random.choice表单列出您的选择号码

if (is_array($player)) {
    foreach($player as $key){
        if(is_array($key)){
            foreach($key as $k){             // <- this is line 103
                echo "<tr>";
                echo "<td>".$k['pdga_number']."</td>";
                echo "<td>".$k['first_name']." ".$k['last_name']."</td>";
                echo "<td>".$k['country']."</td>";
                echo "<td>".$k['rating']."</td>";
                echo "</tr>";
            }
        }
    }
}

答案 2 :(得分:1)

不是使用random.randint(),而是生成可能值列表并删除您不想要的值。然后在简化列表中使用random.choice()

import random
x = int(raw_input("Number: "))
numbers = range(1, 7)
numbers.remove(x)
y = random.choice(numbers)

演示:

>>> import random
>>> x = 5
>>> numbers = range(1, 7)
>>> numbers
[1, 2, 3, 4, 5, 6]
>>> numbers.remove(x)
>>> numbers
[1, 2, 3, 4, 6]
>>> random.choice(numbers)
6
>>> random.choice(numbers)
1
>>> random.choice(numbers)
2

答案 3 :(得分:1)

如果您确定X是1到6之间的数字,您可以选择不包括X的范围。

import random
x = input("Number: ")
end  = 6
r = range(1,x) + range(x+1, end)
random.choice(r)

答案 4 :(得分:0)

在python 3中从0..20跳过idx 11

import numpy as np
range = np.concatenate([np.arange(0, 10, dtype=np.int), np.arange(11, 20, dtype=np.int)])
choice = np.random.choice(range)

答案 5 :(得分:-1)

正如您在问题评论中提到的@jonrsharpe一样,简单的while循环将是实现此目标的最简单方法:

{{1}}