wyp02033 发表于 2017-10-9 20:57:48

def f():
        chars = ['3','4','6','7','8','9','A','B','C','D','E','F','G','H','J','K','L','M','N','P','Q','R','T','U','V','W','X','Y']
        result = ''

        for i in range(12):

                result += chars
        return result

墨黑 发表于 2017-10-9 21:25:33

import random
random0 = ('3','4','6','7','8','9','Q','W','E','R','T','Y','U','P','A','D','F','G','H','J','K','L','X','C','V','B','N','M')
random1 = random.choice(random0)
random2 = random.choice(random0)
random3 = random.choice(random0)
random4 = random.choice(random0)
random5 = random.choice(random0)
random6 = random.choice(random0)
random7 = random.choice(random0)
random8 = random.choice(random0)
random9 = random.choice(random0)
random10 = random.choice(random0)
random11 = random.choice(random0)
random12 = random.choice(random0)
print(random1 + random2 + random3 + random4 + random5 + random6 + random7 + random8 + random9 + random10 + random11 + random12)

#求简单方法,感觉我的好累赘啊!新手一个

铁棍阿童木 发表于 2017-10-9 21:36:41

# python每日一题(111):实现12位随机码。
import random
invitation = "346789CDJMNOPBHUVIWXEFGAQRSTYZ"
code = ""
loop = 12
while loop:
   
    temp = random.choice(invitation)
    code += temp
    if code.count(temp) == 1:
      loop -= 1
    else:
      code += code[-1]
print(code)

天使骑魔鬼 发表于 2017-10-9 21:59:03

import random
str1 = '346789ABCDEFGHJKLMNPQRTUVWXY'
str2 = ''
for i in range(0,12):
    str2 += random.choice(str1)
print(str2)

铁棍阿童木 发表于 2017-10-9 22:03:02

# python每日一题(111):实现12位随机码。
import random
invitation = "346789ABCDEFGHJKLMNPQRTUVWXY"
code = ""
loop = 12
while loop:
    temp = random.choice(invitation)
    code = code + temp
    if code.count(temp) == 1:
      loop -= 1
    else:
      code = code[:-1] + ""
print(code)

onedesigners 发表于 2017-10-10 09:10:33

解题思路

1.由数字和字母组成
2.随机生成
3.数字:没有0,1,5 ,字母:没有o,z,s
4.字母为大写

import string
from random import *
characters = string.ascii_letters.upper()+ string.digits
password = "".join(choice(characters) for x in range(randint(8, 16)))
print password

能力理解范围内 只能实现这个。。。 后续补充学习

whx 发表于 2017-10-10 10:01:05

hh

liuwenqi 发表于 2017-10-10 10:36:08

import random

String = 'abcdefghijklmnopqrstuvwxyzABCDEFGHJKLMNPQRTUVWXY346789'
passwd = ''.join(random.sample(String, 12))
print(passwd)

银色的色 发表于 2017-10-10 15:35:31

自己import random
def generate():
        str1 ="346789ABCDEFGHJKLMNPQRTUVWXYZ"
        gener = random.sample(str1,12)
        string =''
        for each in gener:
                string +=each
        return string只能用笨的暴力方法了,{:10_269:}

mass 发表于 2017-10-10 16:14:13

from random import randint
def password():
    list1 = ["3","4","6","7","8","9","A","B","C","D","E","F","G","H","J","K","L","M","N","P","Q","R","T","U","V","W","X","Y","Z"]
    str1 = ''
    i = 0
    while i<12:
      i+=1
      str1 += list1
    print(str1)
   
password()

caiyouqian 发表于 2017-10-10 19:47:31

ddddddd

八公子 发表于 2017-10-11 15:44:25

from random import Random
str = ''
chars = 'ABCDEFGHJKLlMNPQRTUVWXY346789'
length = len(chars) - 1
random = Random()
for i in range(12):
    str+=chars
print(str)

kanton 发表于 2017-10-11 16:32:17

import random

def RandomMsg():
    tmp = random.randint(0,9)
    tmp2 = chr(random.randint(65,90))
    s = str(tmp) + str(tmp2)
    return s

s3 = ""
while len(s3)<12:
    s2 = random.choice(RandomMsg())
    if s2 in ['1','I','0','O','5','S','2','Z']:
      continue
    s3 += s2

print(s3)

了解2号 发表于 2017-10-11 19:06:32

import random
num = random.choices("346789ABCDEFGHJKLMNPQRTUVWXY",K=12)
for i in num:
      print(i, end='')

了解2号 发表于 2017-10-11 19:08:37

import random
num = random.choices('346789ABCDEFGHJKLMNPQRTUVWXY',k=12)
for i in num:
    print(i,end='')

凉左 发表于 2017-10-12 11:39:56

from random import randint

def activationCode():
    sourcestr = '346789ABCDEFGHJKLMNPQRTUVWXY'
    activecodelist = []
    for i in xrange(12):
      inx = randint(0, 27)
      activecodelist.append(sourcestr)
    return ''.join(activecodelist)

了解2号 发表于 2017-10-12 21:46:19

铁棍阿童木 发表于 2017-10-9 22:03


万一你的这个验证码中有某个字母重复,你这个不就奔溃了吗

见者生财 发表于 2017-10-13 14:07:29

import string, random
s = (string.digits+string.ascii_uppercase)
n=]
print(''.join(random.choice(n)for i in range(12)))

ChrisYang 发表于 2017-10-13 15:25:09

import random as r
leng=r.randint(8,14)#验证码的长度为8—14个单位长度

c=[3,4,6,7,8,9,'A','B','C','D','E','F','G','H','J','K',
   'L','M','N','P','Q','R','T','U','V','W','X','Y']

i=0
result=''
while i<leng:
    t=r.choice(c)
    result+=str(t)
   
    i+=1
else:
    print(result)
===================== RESTART: D:\Python36-32\caogao.py =====================
MAVD9LKK8EWGK4
>>>
===================== RESTART: D:\Python36-32\caogao.py =====================
74Y8W3VD
>>>

lszdmr 发表于 2017-10-17 08:55:20

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import random
li = []
"""
##生成随机验证码小代码
"""
for i in range(12):   #验证码长度控制
    num = random.randrange(0,4)   #获取随机数字
    if num == 1 or num == 3:       #验证码随机插入数字组合
      temp = random.randrange(1,9)#去除0
      li.append(str(temp))#将整形转换为字符串
    else:
      temp = random.randrange(65, 91)
      c = chr(temp)    #十进制转换为字符,参考ASCII表
      li.append(c)
      if c == 'O':   #去除O
            li.remove(c)
result = "".join(li) #列表仅能将字符串进行拼接
print(result)
页: 1 [2] 3
查看完整版本: Python:每日一题 111