因为我是C的新手,所以我一直在使用一些函数来熟悉C。我试图生成一个5到10(含)之间的随机数。它没有按预期工作。
代码源
int randomInt(int maximum,int minimum)
{
return(rand() % maximum + minimum);
}
样品输入
int main(){
srand(time(NULL));
for(int i=0;i<50;i++){
printf("NUMBER IS %d \n", randomInt(10,5));
}
}
输出(错误)
// NUMBER IS 10
// NUMBER IS 8
// NUMBER IS 11
// NUMBER IS 7
// NUMBER IS 6
// NUMBER IS 9
// NUMBER IS 14
// NUMBER IS 5
// NUMBER IS 7
// NUMBER IS 11
// NUMBER IS 11
// NUMBER IS 12
// NUMBER IS 12
// NUMBER IS 7
// NUMBER IS 6
// NUMBER IS 12
// NUMBER IS 5
// NUMBER IS 10
// NUMBER IS 7
// NUMBER IS 13
// NUMBER IS 14
这不是给我5到10(含)之间随机生成的数字
答案 0 :(得分:2)
collections.Counter
调用from collections import Counter
lst = [4,6,[1,2],10,[-1,-3]]
new_lst = []
for i in lst:
if isinstance(i, list):
new_lst.extend(i)
else:
new_lst.append(i)
c = Counter(new_lst)
print(c) # Counter({4: 1, 6: 1, 1: 1, 2: 1, 10: 1, -1: 1, -3: 1})
print(sum(c.values())) # 7
会生成一个int randomInt(int maximum,int minimum)
{
return(rand() % maximum + minimum);
}
(randomInt(10,5)
)范围内的随机整数,然后向其添加0 -> 9
,从而得到最少的rand() % maximum
最多5
。
要生成5
和14
之间的随机值,首先要生成min
范围内的随机值,然后向其添加max
。这将使最小输出0 -> (max-min)
和最大输出min
正是您想要的。
这是正确的代码:
0 + min = min