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'
- Python ord & chr
ord & chr ord: 返回单个 Unicode 字符编码的整数 chr: 给一个 Unicode 编码,返回一个字符 (0 ~ 1,114,111) (ASCII 与 Unicode ...
- 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 ...
- python 加密算法及其相关模块的学习(hashlib,random,string,math)
加密算法介绍 一,HASH Hash,一般翻译做“散列”,也有直接音译为”哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值.这种 ...
- [py模块]random&string取随机字符串
栗子 - 取n位的随机字符串(大小写/数字) def get_random_str(len_str): import string import random letters_nums = strin ...
- 模块 - random/string/os/sys/shutil/zipfile/tarfile
random 模块 方法: >>> random.randint(1,3) #会包含 1 2 3 3 >>> random.randrange(1,3) #会包含 ...
- time/datetime/random/string/os/sys/shutil/zipfile/tarfile - 总结
time 模块: time.time() #时间戳 time.localtime() #当前时间对象元组 time.localtime(123123) #根据时间戳的时间对象 time.mktime( ...
- python加密算法及其相关模块的学习(hashlib,RSA,random,string,math)
加密算法介绍 一,HASH Hash,一般翻译做“散列”,也有直接音译为”哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值.这种 ...
- python基础四(json\os\sys\random\string模块、文件、函数)
一.文件的修改 文件修改的两种思路: 1.把文件内容拿出来,做修改后,清空原来文件的内容,然后把修改过的文件内容重新写进去. 步骤: 1.打开文件:f=open('file','a+') #必须用a ...
- 7.27考试总结(NOIP模拟25)[random·string·queue]
死亡的尽头,没有神 T1 random 解题思路 这波是找规律完胜了.. lby dalao根据样例找出了正确的式子:\(\dfrac{n^2-1}{9}\) 然而,我这个菜鸡却推出了这样一个错误的式 ...
随机推荐
- tomcat7源码包编译安装
tomcat/:作用解析jsp程序.先安装jdk容器.1.下载jdk, wget http://download.oracle.com/otn- pub/java/jdk/8u131- b11/d54 ...
- 在VSCode中开启ESLint风格审查
最近一直在学习开发一个VUE项目,几乎没有前端基础摸爬滚打,就一边摸索HTML,JS,CSS一边模仿着已有代码开发,也还算能学到东西. VSCode确实还不错,很轻量.在刚开始学写vue的时候,后台总 ...
- Flink整体执行流程
以Flink源码中自带的WordCount为例,执行的入口从用户程序的execute()函数入手,execute()的源码如下: public JobExecutionResult execute(S ...
- 【读书笔记】Git使用
初始设置本地Git 首先来设置使用 Git 时的姓名和邮箱地址.名字请用英文输入. $ git config --global user.name "Firstname Lastname&q ...
- python+selenium模拟键盘输入
from selenium.webdriver.common.keys import Keys #键盘导入类 --------------------------------------------- ...
- django 的 一对多的关系
USERINFO 用户详情表 USERTYPE 用户类别表 UserType是父表,UserInfo是子表, user_type 是 关联字段 就是新增资源的时候,又对数据库重新查询一遍,太消耗资源了 ...
- 八、Zabbix-应用集、监控项
一.应用集 1.应用集一般配合监控项使用,它相当于多个同类型的监控项的分类目录 2.添加应用集 (1)配置—>模板—>需要调整的模板—>应用集 (2)添加应用集 (3) (4)查看应 ...
- Java文件手动编译执行步骤
Java编译执行步骤: 1)将 Java 代码编写到扩展名为 .java 的文件中.2)通过 javac 命令对该 java 文件进行编译.3)通过 java 命令对生成的 class 文件进行运行. ...
- Sql server 执行计划详解
序言 本篇主要目的有二: 1.看懂t-sql的执行计划,明白执行计划中的一些常识. 2.能够分析执行计划,找到优化sql性能的思路或方案. 如果你对sql查询优化的理解或常识不是很深入,那么推荐几骗博 ...
- Luogu P2168 [NOI2015]荷马史诗
题目 哈夫曼树的每个叶子结点都有一个权值(表示某数据的出现频率),且\(\sum dis_ival_i\)最小. 哈夫曼树中,权值和越大的集合离根节点越近. 而每个数据对应从根节点到该叶子结点的一种编 ...