Python中如何证明字符串是否随机?

Python025

Python中如何证明字符串是否随机?,第1张

#python3中为string.ascii_letters,而python2下则可以使用string.letters和string.ascii_letters

#生成随机密码,length为密码长度,包含数字,字母

def GenPassword(length=8,chars=string.ascii_letters+string.digits):

return ''.join([choice(chars) for i in range(length)])

本文链接1(): https://www.jianshu.com/p/ddcde984b705

本文链接2(CSDN): https://blog.csdn.net/COCO56/article/details/90051016

随机给定的字符串中可能不仅包含数字字符,还包含其他类型的字符,我们现在需要把字符串中的数字全部提取出来,然后再进行求和。如'1asd22',那么先把这个字符串中的1和22提取出来,然后进行求和,得到结果23。

对这类特定数据提取的工作,使用正则表达式很方便。

import re

string = '123rrr1iii56oooo9'

pattern = re.compile('\d+')

results = re.findall(pattern, string)

print(results)

sum = 0

for result in results:

sum += int(result)

print(sum)

Python生成8位随机字符串的方法分析

篇文章主要介绍了Python生成8位随机字符串的方法,结合实例形式对比分析了2种比较常用的随机字符串生成技巧,具有一定参考借鉴价值,需要的朋友可以参考下

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import random

import string

#第一种方法

seed = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()_+=-"

sa = []

for i in range(8):

sa.append(random.choice(seed))

salt = '.join(sa)

print salt

#运行结果:l7VSbNEG

#第二种方法

salt = '.join(random.sample(string.ascii_letters + string.digits, 8))

print salt

#运行结果:VOuCtHZs

生成随机字符串

在加密用户密码的时候,一个好方法就是产生一个随机字符串,然后再和密码进行混合求摘要。产生随机字符串的方法找到了这些。

第一种比较简单,易于理解

第二种不好理解,但很简洁

本来我只想随机取四个数字的,用的random.randint(1000,9999)。但是这个开头不会出现0,有点不爽,后来找到这个文章。