相关疑难解决方法(0)

生成范围内的'n'个唯一随机数

我知道如何在Python中生成一个范围内的随机数.

random.randint(numLow, numHigh)
Run Code Online (Sandbox Code Playgroud)

而且我知道我可以把它放在循环中以生成n个这些数字

for x in range (0, n):
    listOfNumbers.append(random.randint(numLow, numHigh))
Run Code Online (Sandbox Code Playgroud)

但是,我需要确保该列表中的每个数字都是唯一的.除了一系列条件语句之外,还有一种生成n个唯一随机数的直接方法吗?

编辑:重要的是列表中的每个数字都与其他数字不同.

所以

[12,5,6,1] =好

[12,5,5,1] =不好,因为数字5出现两次.

python random unique

194
推荐指数
4
解决办法
32万
查看次数

生成3个不同的随机数

我在这里有一些东西,但我无法按照自己喜欢的方式工作:

def nested_loops():
    import random
    option1 = random.randint(1, 3)
    option2 = random.randint(1, 3)
    option3 = random.randint(1, 3)
Run Code Online (Sandbox Code Playgroud)

上面的位产生数字但它们可能是相同的.在这下面可以解决这个问题,但它没有,但它似乎只是降低了可能性

while option1 == option2:
    option1 = random.randint(1,3)
    while option1 == option3:
        option1 = random.randint(1, 3)
        while option2 == option3:
            option2 = random.randint(1, 3)

print(option1)
print(option2)
print(option3)
Run Code Online (Sandbox Code Playgroud)

相当明显它只是打印它们

python

12
推荐指数
1
解决办法
1万
查看次数

子文件夹中的Python随机行

我在多个子文件夹中的.txt文件中有很多任务.我试图从这些文件夹,它们包含的文件以及文件中的文本行中随机选取总共10个任务.应删除或标记选定的行,以便在下次执行时不会选择它.这可能是一个太宽泛的问题,但我很欣赏任何意见或方向.

这是我到目前为止的代码:

#!/usr/bin/python  
import random   
with open('C:\\Tasks\\file.txt') as f:  
    lines = random.sample(f.readlines(),10)    
print(lines)
Run Code Online (Sandbox Code Playgroud)

python random-sample python-3.x

6
推荐指数
2
解决办法
1814
查看次数

如何从列表中选择一个随机整数,与以前不同?

所以我有一个整数列表,如下所示:

list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
Run Code Online (Sandbox Code Playgroud)

我想从中选择随机整数:

item = random.choice(list)
Run Code Online (Sandbox Code Playgroud)

但是我如何确保下次这样做时,它是不同的项目?我不想从列表中删除项目.

python list python-3.x

5
推荐指数
1
解决办法
114
查看次数

在C++中生成随机非重复数组

我需要在C++中生成随机非重复数组,在这部分代码中我使用srand函数生成随机数,但有些数字是重复的.主要任务是为彩票生成随机数,所以我需要生成数字,直到标记为int golden的黄金数字.

#include <cstdlib>
#include <ctime>
#include <iostream>

using namespace std;

int main()
{
  int golden = 31;
  int i = 0;
  int array[35];

 srand((unsigned)time(0));
    while(i != golden){
        array[i] = (rand()%75)+1;
        cout << array[i] << endl;
        i++;
}
 }
Run Code Online (Sandbox Code Playgroud)

c++ arrays random dynamically-generated

2
推荐指数
1
解决办法
3209
查看次数

如何禁用 random.choice 中的重复项目

我想使用 抓取列表中的随机项目random.choices(),但我不需要抓取多个项目。例子:

import random
mylist = ['python', 'c++', 'html', 'CSS', 'JavaScript']
print(random.choices(mylist, k=4)
Run Code Online (Sandbox Code Playgroud)

有时它会返回以下输出:

['python', 'html', 'JavaScript', 'JavaScript']
Run Code Online (Sandbox Code Playgroud)

所以我想删除重复的JavaScript,这样它就只剩下一个JavaScript,并用一个新项目替换重复的JavaScript

['python', 'html', 'CSS', 'JavaScript']
Run Code Online (Sandbox Code Playgroud)

python random list

2
推荐指数
1
解决办法
1923
查看次数

Python列表没有重复的数字

我正在使用宾果卡,但我似乎无法使用randint生成不同的数字.这次它可能在b中有所有不同的数字,但下一次,它有几个重复的数字.

如何制作它以便生成不同的数字而不重复?

谢谢.

import random

class Card:
    def __init__(self):
        self.b = []
        self.i = []
        self.n = []
        self.g = []
        self.o = []

        for x in range(0, 5):
            r = random.randint(1, 15)
            self.b.append(r)

        print(self.b)
        print(self.i)
        print(self.n)
        print(self.g)
        print(self.o)

p = Card()
Run Code Online (Sandbox Code Playgroud)

python

1
推荐指数
1
解决办法
1252
查看次数

Python打印随机行而不重复

我有一个小的 python 程序,它打印随机的十六进制字符串,每次运行该程序时它都会生成一个十六进制字符串。我希望程序只生成一个十六进制字符串,这意味着程序不应该生成已经生成的字符串。

例子

python3 program.py

1. ab6b

2. 4c56

3. 1b13

4. ae8d

Run Code Online (Sandbox Code Playgroud)

下一个示例显示输出是随机的并且程序重复行。

1b13

ae8d

4c56

ae8d

Run Code Online (Sandbox Code Playgroud)

我的代码

import os
import binascii

print(binascii.hexlify(os.urandom(2)).decode('utf-8'))
Run Code Online (Sandbox Code Playgroud)

python random python-3.x

1
推荐指数
1
解决办法
85
查看次数

如何使用python按顺序生成20个唯一的随机数?

刚开始学编程,一章又一章,遇到问题。最大的问题之一就是遇到python生成随机数的问题。”生成20个随机唯一数,按顺序排序按升序或降序“。我已经研究过我该怎么做,但我现在很困惑,想放弃。谁能给我一个关于如何做到这一点的例子并对此进行解释。

python

0
推荐指数
1
解决办法
8321
查看次数