day3复习
>>> for i in range(10):
... if i == 3:
... break
... print(i)
...
0
1
2
>>> for i in range(10):
... if i == 3:
... continue
... print(i)
...
0
1
2
4
>>> while True:
... i = int(input("请输入一个数字:"))
... if i%2 == 0:
... print("偶数")
... else:
... print("奇数")
... if i == 100:
... break
 
>>> ord("杜")
26460
>>> chr(26460)
'杜'
>>> d = "杜崇崇"
>>> type(d)
<class 'str'>
>>> d.encode("gbk")
b'\xb6\xc5\xb3\xe7\xb3\xe7'
>>> d.encode("utf8")
b'\xe6\x9d\x9c\xe5\xb4\x87\xe5\xb4\x87'
>>> type(d.encode("gbk"))
<class 'bytes'>
>>> type(d.encode("gbk").decode("gbk"))
<class 'str'>
unicode 不能直接写入文件也不能直接在网络传输,必须是bytes
练习1:
>>> a = "测试"
>>> type(a)
<class 'str'>
>>> a.encode("gbk")
b'\xb2\xe2\xca\xd4'
>>> type(a.encode("gbk"))
<class 'bytes'>
>>> type(a.encode("gbk").decode("gbk"))
<class 'str'>
 
encode 将str(unicode) 转为bytes类型
decode 将bytes类型转为str(unicode)类型
import random
a = [1,2,4,"as","ba"]
random.random() # 随机小数
100+random.random() # 整数+小数
random.randint(1,100) # 随机1,100之间的整数
random.choice() # 随机一个列表里面的值
random.uniform(1,100) # 随机1,100之间的小数点数
random.shuffle(a) # 随机对列表的顺序进行打乱
练习2:随机生成一个小写字母
chr(random.randint(97,123))
chr(97+random.randint(1,25))
 
chr(ord("A")+random.randint(1,25))
生成随机的10位小写字母:
s = ""
for i in range(10):
... ss = chr(ord("a")+random.randint(1,25))
... s+=ss
生成随机的10位小写字母:
for i in range(10):
... ss = chr(ord("A")+random.randint(1,25))
... s+=ss
生成随机的5个小写字母和5个大写字母:
>>> for i in range(5):
... s+= chr(ord("a")+random.randint(1,25))
...
>>> for i in range(5):
... s+= chr(ord("A")+random.randint(1,25))
 
生成随机不限定固定大小写个数的10个字母:
lower_num = random.randint(1,9)
uper_num = 10-lower_num
for i in range(lower_num):
s+= chr(ord("a")+random.randint(1,25))
for i in range(uper_num ):
s+= chr(ord("A")+random.randint(1,25))
 
>>> lower_case = string.ascii_lowercase
>>> lower_case
'abcdefghijklmnopqrstuvwxyz'
>>> low_list = list(lower_case)
>>> low_list
['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']
>>> low_list_s = low_list[:10]
>>> low_list_s
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
>>> "".join(low_list_s)
'abcdefghij'
>>>
 
>>> letters = string.ascii_letters
>>> letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> letters_list = list(letters)
>>> random.shuffle(letters_list)
>>> letters_list
['Q', 'Y', 'V', 'q', 'g', 'p', 'K', 'a', 'T', 'X', 's', 'U', 'H', 'N', 't', 'i', 'b', 'n', 'r', 'h', 'G', 'f', 'd', 'O', 'j', 'A', 'P', 'F', 'R', 'l', 'x', 'z', 'J', 'c', 'E', 'e', 'k', 'o', 'Z', 'D', 'y', 'M', 'I', 'C', 'W', 'w', 'S', 'L', 'v', 'B', 'u', 'm']
>>> "".join(letters_list[] )
KeyboardInterrupt
>>> "".join(letters_list[:10])
'QYVqgpKaTX'
 
>>> [random.choice(list(string.ascii_letters)) for i in range(1,9)]
['Y', 'g', 'y', 'j', 'G', 'K', 'I', 's']
>>> [random.choice(list(string.ascii_letters)) for i in range(10)]
['M', 'q', 'y', 'x', 'I', 'F', 'I', 'W', 'm', 's']
>>> "".join([random.choice(list(string.ascii_letters)) for i in range(10)])
'RZqoHNduTe'
 
 
 
 
 

day3 ord,chr,random,string的更多相关文章

  1. Python ord & chr

    ord & chr ord: 返回单个 Unicode 字符编码的整数 chr: 给一个 Unicode 编码,返回一个字符 (0 ~ 1,114,111) (ASCII 与 Unicode ...

  2. Python有用的内置函数divmod,id,sorted,enumerate,input,oct,eval,exec,isinstance,ord,chr,filter,vars,zip

    divmod(a, b) 函数接收两个数字类型(非复数)参数,返回一个包含商和余数的元组(a // b, a % b) id() 函数用于获取对象的内存地址. sorted(iterable, key ...

  3. python 加密算法及其相关模块的学习(hashlib,random,string,math)

    加密算法介绍 一,HASH Hash,一般翻译做“散列”,也有直接音译为”哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值.这种 ...

  4. [py模块]random&string取随机字符串

    栗子 - 取n位的随机字符串(大小写/数字) def get_random_str(len_str): import string import random letters_nums = strin ...

  5. 模块 - random/string/os/sys/shutil/zipfile/tarfile

    random 模块 方法: >>> random.randint(1,3) #会包含 1 2 3 3 >>> random.randrange(1,3) #会包含 ...

  6. time/datetime/random/string/os/sys/shutil/zipfile/tarfile - 总结

    time 模块: time.time() #时间戳 time.localtime() #当前时间对象元组 time.localtime(123123) #根据时间戳的时间对象 time.mktime( ...

  7. python加密算法及其相关模块的学习(hashlib,RSA,random,string,math)

    加密算法介绍 一,HASH Hash,一般翻译做“散列”,也有直接音译为”哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值.这种 ...

  8. python基础四(json\os\sys\random\string模块、文件、函数)

    一.文件的修改 文件修改的两种思路: 1.把文件内容拿出来,做修改后,清空原来文件的内容,然后把修改过的文件内容重新写进去. 步骤: 1.打开文件:f=open('file','a+')  #必须用a ...

  9. 7.27考试总结(NOIP模拟25)[random·string·queue]

    死亡的尽头,没有神 T1 random 解题思路 这波是找规律完胜了.. lby dalao根据样例找出了正确的式子:\(\dfrac{n^2-1}{9}\) 然而,我这个菜鸡却推出了这样一个错误的式 ...

随机推荐

  1. Jenkins安装以及配置

    Jenkins介绍 Jenkins是一个java开发的.开源的.非常好用持续集成的工具,它能帮我们实现自动化部署环境.测试.打包等等的工作,还可以在构建任务成功或者失败之后给我们发邮件通知. 什么叫持 ...

  2. FTP协议的两种工作模式简单解析!

    转载自百度百科:http://baike.baidu.com/link?url=KaBZmDM4IZ2v56MyoOnpjqKr0gADv_BRbgjlscYdyvh3-zDwINOHNPSi9Jlp ...

  3. Linux监控命令之==>sar

    一.使用说明 sar 是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况.系统调用的使用情况.磁盘I/O.CPU效率.内存使用状况.进程活动及 ...

  4. Spring MVC对日期处理的不友好问题

    一.后台日期类型解析到前端 1.在springmvc的配置文件中添加这个.annotation-driven在配置文件中只配置一次     (此方法全局作用)<mvc:annotation-dr ...

  5. es为什么要取消type? 或者为什么一个index下多个type会有问题

    同一个index下的不同的type下的相同的filed,在同一个index下其实会被认为是同一个filed. 否则,不同type中的相同字段名称就会在处理中出现冲突的情况,导致Lucene处理效率下降

  6. jenkins中通过Publish Over SSH将项目部署到远程机器上

    Publish Over SSH插件使用在使用Publish Over SSH之前,需要制作SSH私钥.机器间做免密登录配置.假设机器A,ip为192.168.AA.AAA,机器B: 192.168. ...

  7. docker安装Rancher

    docker安装Rancher //拉取镜像 docker pull rancher:v2.0.4 //运行容器 docker run -d -p : -p : --restart=always -- ...

  8. 第二章 Git

    1.安装 这个就不必细说了 2.安装完后还要进行一步设置. 在命令行输入: git config --global user.name "Your Name" git config ...

  9. 第四周Java作业及总结

    写一个名为Rectangle的类表示矩形.其属性包括宽width.高height和颜色color,width和height都是double型的,而color则是String类型的.要求该类具有: (1 ...

  10. ant buid.xml 模板

    <?xml version="1.0" encoding="UTF-8"?> <project name="ant" de ...