每次随机生成1个数字,生成过的数字后续执行不再生成
时间: 2024-03-27 11:37:28 浏览: 16
可以使用Python中的random模块来生成随机数,并使用一个列表来记录已经生成过的数字。以下是一个示例代码:
```python
import random
used_nums = []
while True:
num = random.randint(1, 100)
if num not in used_nums:
used_nums.append(num)
print(num)
if len(used_nums) == 100: # 生成了1~100之间的所有数字,结束循环
break
print("程序结束")
```
在这个示例代码中,首先定义了一个空列表used_nums,用于记录已经生成过的数字。然后使用while循环来不断生成随机数,每次生成后使用if语句判断该数字是否已经在used_nums中出现过,如果没有出现过,则将其加入used_nums列表,并输出该数字。当used_nums中数字的数量达到100时,即1~100之间的所有数字均已生成,循环结束,输出“程序结束”并结束执行。由于每次生成的数字都会被记录在used_nums列表中,因此不会重复生成。
相关问题
qt 随机生成10000 个10000以内的数字
在Qt中,可以使用QRandomGenerator类来生成随机数。要生成10000个10000以内的数字,可以使用循环结构进行迭代生成。
下面是一个示例代码:
```cpp
#include <QCoreApplication>
#include <QDebug>
#include <QRandomGenerator>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
const int count = 10000; // 生成的数量
const int maxValue = 10000; // 生成的最大值
// 随机种子,可以根据需要设置不同的种子
QRandomGenerator::global()->seed(QDateTime::currentMSecsSinceEpoch() % maxValue);
QList<int> randomNumberList; // 存储生成的随机数
// 循环生成随机数
for (int i = 0; i < count; ++i) {
int randomNumber = QRandomGenerator::global()->bounded(maxValue);
randomNumberList.append(randomNumber);
}
// 打印生成的随机数
foreach (int randomNumber, randomNumberList) {
qDebug() << randomNumber;
}
return a.exec();
}
```
以上代码会在控制台输出10000个10000以内的随机数字。可以根据需要将这些随机数存储到一个列表中,以进行后续的处理和使用。
自动生成100x100的数字矩阵迷宫
以下是生成数字矩阵迷宫的 Python 代码:
```python
import random
def generate_maze(n):
maze = [[0 for x in range(n)] for y in range(n)]
for i in range(n):
for j in range(n):
maze[i][j] = random.randint(0, 9)
return maze
maze = generate_maze(100)
for row in maze:
print(row)
```
这个函数使用了 Python 的随机数生成器来生成数字矩阵迷宫。它首先创建一个 $n \times n$ 的二维列表,然后为每个位置随机生成一个数字。你可以根据需要调整迷宫的大小。最后,它打印出生成的迷宫,你可以使用该迷宫进行后续处理。