生成四位快递码无重复代码
时间: 2023-12-14 13:04:42 浏览: 25
以下是 Python 代码实现:
```python
import random
# 生成快递码列表
express_codes = []
while len(express_codes) < 10000:
code = ''.join(random.sample('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ', 4))
if code not in express_codes:
express_codes.append(code)
# 随机获取一个快递码
random_code = random.choice(express_codes)
print(random_code)
```
这段代码会生成一个包含 10000 个不重复的四位快递码的列表,然后随机从中选择一个快递码输出。其中,`random.sample()` 函数用于从指定序列中随机选择指定数量的元素,不会重复选择。
相关问题
使用java生成四位快递码无重复代码
以下是 Java 代码实现:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class ExpressCodeGenerator {
public static void main(String[] args) {
List<String> expressCodes = generateExpressCodes();
String randomCode = getRandomExpressCode(expressCodes);
System.out.println(randomCode);
}
/**
* 生成快递码列表
*/
public static List<String> generateExpressCodes() {
List<String> expressCodes = new ArrayList<String>();
while (expressCodes.size() < 10000) {
String code = generateExpressCode();
if (!expressCodes.contains(code)) {
expressCodes.add(code);
}
}
return expressCodes;
}
/**
* 生成单个快递码
*/
public static String generateExpressCode() {
String[] chars = new String[] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
"A", "B", "C", "D", "E", "F", "G", "H", "I", "J",
"K", "L", "M", "N", "O", "P", "Q", "R", "S", "T",
"U", "V", "W", "X", "Y", "Z" };
StringBuilder sb = new StringBuilder();
Random random = new Random();
for (int i = 0; i < 4; i++) {
sb.append(chars[random.nextInt(chars.length)]);
}
return sb.toString();
}
/**
* 随机获取一个快递码
*/
public static String getRandomExpressCode(List<String> expressCodes) {
Collections.shuffle(expressCodes);
return expressCodes.get(0);
}
}
```
这段代码会生成一个包含 10000 个不重复的四位快递码的列表,并随机从中选择一个快递码输出。其中,`generateExpressCode()` 方法用于生成单个快递码,`getRandomExpressCode()` 方法用于随机获取一个快递码。
使用java生成四位数字快递码无重复代码
以下是 Java 代码实现:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class ExpressCodeGenerator {
public static void main(String[] args) {
List<String> expressCodes = generateExpressCodes();
String randomCode = getRandomExpressCode(expressCodes);
System.out.println(randomCode);
}
/**
* 生成快递码列表
*/
public static List<String> generateExpressCodes() {
List<String> expressCodes = new ArrayList<String>();
while (expressCodes.size() < 10000) {
String code = generateExpressCode();
if (!expressCodes.contains(code)) {
expressCodes.add(code);
}
}
return expressCodes;
}
/**
* 生成单个四位数字快递码
*/
public static String generateExpressCode() {
Random random = new Random();
int code = random.nextInt(10000);
return String.format("%04d", code);
}
/**
* 随机获取一个快递码
*/
public static String getRandomExpressCode(List<String> expressCodes) {
Collections.shuffle(expressCodes);
return expressCodes.get(0);
}
}
```
这段代码会生成一个包含 10000 个不重复的四位数字快递码的列表,并随机从中选择一个快递码输出。其中,`generateExpressCode()` 方法用于生成单个四位数字快递码,使用了 `Random.nextInt(int n)` 方法生成一个小于 n 的随机整数,然后使用 `String.format()` 方法将其格式化成四位数字快递码。`getRandomExpressCode()` 方法用于随机获取一个快递码。