请问怎么能实现输出10位字母数字组合,但前两位固定是0x

import random

1.全密码字符串

txt = "01233456789abcdefghijklmnopqrstuvwxyz"

2.字符串转列表

alpha_num_list = list(txt)

3.生成10组密码

for i in range(10):
password = ""
# 8位数
for j in range(10):
password += random.choice(alpha_num_list)
# 打印该组随机密码
print(password)

你好,请问怎么能实现输出10位字母数字组合,但前两位固定是0x

如下:

import random

txt = "01233456789abcdefghijklmnopqrstuvwxyz"
alpha_num_list = list(txt)

# 产生10组,需要的数量自己修改一下就可以
for i in range(0,10):
    password = '0x'
    for k in range(0,8):
        password += alpha_num_list[random.randint(0, 36)]

    # 打印该组随机密码
    print(password)

怎么才能输出很多组呢 比如我要100组10位的数字字母组合



```java
package nickname;

import java.util.Random;

public class nickname {
             /**
              * java生成随机数字和字母组合10位数
              * @param length[生成随机数的长度]
              * @return
              */
             public static String getRandomNickname(int length) {
              String val = "";
              Random random = new Random();
              for (int i = 0; i < length; i++) {
               // 输出字母还是数字
               String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num";
               // 字符串
               if ("char".equalsIgnoreCase(charOrNum)) {
                // 取得大写字母还是小写字母
                int choice = random.nextInt(2) % 2 == 0 ? 65 : 97;
                val += (char) (choice + random.nextInt(26));
               } else if ("num".equalsIgnoreCase(charOrNum)) { // 数字
                val += String.valueOf(random.nextInt(10));
               }
              }
              return val;
             }
             public static void main(String[] args) {
                 System.out.println("java生成随机数字和字母组合10位数:" + getRandomNickname(10));
            }

}

```

回答: 可以不用random 然后choose, 可以直接生成一个范围的数字然后转成36进制的就是你想要的密码
---- 题主: 怎么才能输出很多组呢 比如我要100组10位的数字字母组合
对于这个问题

  • 方法一: 穷举随机生成, 然后去重, 直到生成100组,
  • 方法二: 16进制的数字是数字加 a-f 的数字, 你的需求是数字和所有字母(忽略大小写)的组合, 那就是36进制的, 所以你想要的这种10位的字符串共有 (36进制的数字zzzzzzzzzzz转成10进制的就是) 3656158440062975 种, 随便从101559956668416 到 3656158440062975中挑一百个数字然后转换成36进制的就是你想要的密码
    https://tool.ip138.com/hexconvert/
    这个是任意进制转换网站
    36进制的1000000000转成10进制就是101559956668416
    如果你不明白我进一步解释一下: 如果你想生成3位纯数字的密码, 那么将会有多少种呢? 从 000, 001, 002... 400, 401, 402.... 999, 共用1000种组合的密码, 如果你想生成只有0和1的密码, 那么3位的这种密码组合有: 000, 001, 010, 011, 100, 101, 110, 111, 共有8种,
    这个想明白了那么方法二你就明白了