python如何自动生成单个随机字母(a-z)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python如何自动生成单个随机字母(a-z)相关的知识,希望对你有一定的参考价值。

1:mport random
#导入random模块 用于生产随机数功能

2:a  = random.randint(97, 122)
#利用random.randint()函数生成一个随机整数a,使得97<=a<=122
#对应从“a”到“z”的ASCII码

3:c = chr(a)
#将a表示的ASCII码转换为对应的字母,这里的c就是你要的随机字母

4:print c
#将字母输出,完成

延展阅读:

Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中[3]  有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。

参考技术A import random
#导入random模块 用于生产随机数功能

a = random.randint(97, 122)
#利用random.randint()函数生成一个随机整数a,使得97<=a<=122
#对应从“a”到“z”的ASCII码

c = chr(a)
#将a表示的ASCII码转换为对应的字母,这里的c就是你要的随机字母

print c
#将字母输出,完成

========================================

实际上就是一句话:chr(random.randint(97, 122))
希望能帮到你!本回答被提问者采纳
参考技术B #这里用到random和string模块
from random import choice
from string import ascii_lowercase as al
list1 = list(al)
#创建a-z的列表
a = choice(list1)
#随机选择
print(a)

#一行就可以解决问题:

#print(choice(list(al)))
参考技术C 应该是123,小细节。嘿嘿

Linux 正则表达式和通配符 以及Python断言

通配符

通配符通常用来匹配文件、目录

*

匹配任意长度的任意字符,可以是0个

?

匹配任意单个字符,必须是1个

[ ]

匹配指定字符范围内的任意单个字符

[a-z,A-Z,0-9]

匹配所有数字字母,可以不加逗号

[a-z]

表示取a..z的所有字符

[A-Z]

表示A,B.....Z

[a-Z]

表示所有大小写字母

[:upper:]

所有大写字母

[:lower:]

所有小写字母

[:alpha:]

所有字母,大小写

[:digit:]

所有数字

[:alnum:]

所有数字和字母

[:space:]

空白字符

[:punct:]

标点符号

[^]

匹配指定字符范围外的任意单个字符  同[!]

[^0-9]

相当于[^[:digit:]]

[^a-z]

所有非a..z的字符

[^A-Z]

所有非A..Z的字符

 

正则表达式

概述

正则表达式Regular Expression,缩写RE,是文本处理极为重要的技术,用它可以对字符串按照某种规则进行检索、替换。正则表达式应用极其广泛,shell中文本处理命令、各种高级编程语言都支持正则。

分类

1、BRE

基本正则表达式,grep、sed等都支持。

2、ERE

扩展正则表达式,egrep(grep -E)、sed -r等。

3、PCRE

几乎所有高级语言都是PCRE的方言或变种。

 

元字符metacharacter

代码 说明 举例

Basic

RegEx

Extend

RegEx

Python
. 匹配除换行符以外的任意一个字符 . . . .
[abc] 字符集合,匹配集合中的任意一个字符 [abc]匹配plain中的‘a‘ [abc] [abc] [abc]
[^abc] 字符集合,只能表示一个字符位置。
匹配除去集合内字符的任意一个字符
[^abc]可以匹配plain中的‘p‘,‘l‘,‘i‘,‘n‘ [^abc] [^abc] [^abc]
[a-Z] 自付范围,也是集合,表示一个字符位置
匹配包含的任意一个字符
常用的有[A-Z][0-9] [a-Z] [a-Z] [a-Z]
[^a-Z] 字符范围,也是个集合,表示一个字符位置
匹配去除集合内字符的任意一个字符
  [^a-Z] [^a-Z] [^a-Z]
 匹配单词边界 b在文本中查找以b开头的字符   
B 不匹配单词边界 tB包含t的单词但是不以t结尾的t字符,例如write
Bb不以b开头但含有b的单词,如able
B B B
匹配一个横向制表符   不支持 不支持  
v 匹配一个垂直制表符   不支持 不支持  
s 匹配1位空白字符,包括换行符、制表符、空格
[f v],f表示换页,v表示垂直制表符
  不支持 不支持  
S 匹配一位非空白字符   不支持 不支持  
d 同[0-9],匹配一位数字 d 不支持 不支持  
D 同[^0-9],匹配一位非数字   不支持 不支持  
w 匹配[a-zA-z0-9_],包含中文 w w w w
W 匹配w之外的字符   W W W
<pattern> <词首锚定,>词尾锚定,这两个和相同 <abc>匹配单词abc等价abc      

单行模式

. 点号可以匹配所有字符,包括换行符

^ 表示整个字符串的开头,$表示结尾

 

多行模式

.点号可以匹配所有字符,但不包括换行符

^ 表示整个字符串的开头,$表示结尾,开始指的是 后紧接着下一个字符,结束指的是 前的字符

 

重复

代码 说明 举例
* 表示前面正则表达式匹配的内容
会重复0次或多次
ew*单词中有e,后面是非空白字符
+ 表示前面正则表达式重复至少1次 ew+单词中e后面至少有一个非空白字符
表示前面的正则表达式会重复0次或1次 ew?单词e后至多有一个非空白字符
{n} 重复n次  
{n,} 重复至少n次

ew{1,}等价ew+

ew{0,}等价ew*

ew{0,1}等价ew?

{n,m} 重复n到m次 ew{1,10}单词中e后面至少一个最多10个非空白字符

 

分组捕获、断言、注释(python)

代码 说明 举例
x|y 匹配x或匹配y w|food 或者 (w|f)ood
捕获    
(pattern)

使用小括号指定一个子表达式,也叫分组

捕获后会自动分配组号,从1开始,可以改变优先级

 
数字 匹配对应的分组 (very)1表示匹配 very very,分组是very
(?:pattern) 如果仅仅为了改变优先级,不需要捕获分组

(?:w|f)ood

‘industr(?:y|ies)‘ 等价 ‘industry|industries‘

(?<name>exp)或
(?‘name‘exp)

分组捕获,但是可以通过那么访问分组,

Python语法必须是(?P<name>exp)

 
零宽断言    
(?=exp)

零宽度正预测先行断言

断言exp一定出现在匹配字符的右边

也就是说匹配字符的后面一定有exp

f(?=ood)f后面一定有ood出现
(?<=exp)

零宽度正回顾后发断言

断言exp一定出现在匹配字符的左边

也就是说匹配字符前面一定有exp

(?<=d{3})o{1,2}p表示匹配oop的字符串前面一定有三个数字
负向零宽断言    
(?!exp)

零宽度负预测先行断言

断言exp一定不会出现在右侧,

也就是说断言后面一定不是exp

d{3}(?!d)表示匹配3位数字且三位数字后 一定不是数字

foo(?!d)表示foo的后面一定不是d

(?<!exp)

零宽度负回顾后发断言

断言exp一定不会出现在左侧,

也就是说断言前面一定不是exp

(?<!f)ood表示ood的前面一定不是f

注释    
(?#comment) 注释 f(?=oo)

 

贪婪与非贪婪

 

代码 说明
*? 匹配任意次,但尽可能少重复
+? 匹配至少1次,尽可能少重复
?? 匹配0或1次,尽可能少重复
{n,}? 匹配至少n次,尽可能少重复
{n,m}? 匹配至少n次,至多m次,尽量少匹配

以上是关于python如何自动生成单个随机字母(a-z)的主要内容,如果未能解决你的问题,请参考以下文章

pyhton2 and python3 生成随机数字字母符号字典(用于撞库测试/验证码等)

怎样用Excel随机函数rand()生成随机数字和大写字母,能自动产生4位混合的

python 生成随机字符串

使用一系列命令生成字母数字符号组合

PHP随即生成6位数三位0-9三位a-z

Python中如何使生成器函数来用元组返回一个字符串大写字母个数和小写字母个数?