Python学习 10 - 基本数据类型小练习
个人学习总结笔记如有不足和错误欢迎指教谢谢
1、执行 Python 脚本的两种方式
1、进入python直接打命令
2、让python运行1.py
2、简述位、字节的关系
8位等于1字节
3、简述 ascii、unicode、utf-8、gbk 的关系
1、ASIIC编码中一个字符的大小就是1Byte
2、Unicode将各国文字统一编码,所以Unicode编码可以看做是ASCII的扩展。特点:速度快,但是占内存大。
3、UTF-8=ASCII码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存等等
4、GBK也是基于Unicode编码的进一步优化,GBK的文字编码是用双字节来表示的,即不论中、英文字符均使用双字节来表示。
cmd终端默认GBK
unicode utf8 gbk(针对中文)
utf8: 用3个字节表示中文
gbk : 用2个字节表示中文
4、请写出 “李杰” 分别用 utf-8 和 gbk 编码所占的位数
utf-8:一个汉字是三个字节
gbk:一个汉字是2个字节
5、Pyhton 单行注释和多行注释分别用什么?
单行注解:#
多行注解:'''中间是需要注解的内容(各个行)'''
6、声明变量注意事项有那些?
变量名必须是:字母、数字、下划线 组成的,不能使用数字开头而且不能使用python里面的关键字
7、如有一下变量 n1 = 5,请使用 int 的提供的方法,得到该变量最少可以用多少个二进制位表示?
n1 = 5
v = n1.bit_length()
print (v)
8、布尔值分别有什么?
真True 或者 假False
"" = False
" " = True
0 = False
其他 = True
9、阅读代码,请写出执行结果
a = "alex"
b = a.capitalize() #首字母大写
print(a)
print(b)
请写出输出结果:
alex
Alex
10、写代码,有如下变量,请按照要求实现每个功能
name = " aleX "
a. 移除 name 变量对应的值两边的空格,并输入移除后的内容
v = name.strip()
print('a',v)
b.判断 name 变量对应的值是否以 "al" 开头,并输出结果
v1 = v.startswith('al')
print('b',v1)
c.判断 name 变量对应的值是否以 "X" 结尾,并输出结果
v2 = v.endswith('X')
print('c',v2)
d.将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
v3 = v.replace('l','p')
print('d',v3)
e.将 name 变量对应的值根据 “l” 分割,并输出结果
v4 = v.partition('l')
print('e',v4) #e ('a', 'l', 'eX')
v5 = v.split('l')
print('e1',v5) #e1 ['a', 'eX']
f.请问,上一题 e 分割之后得到值是什么类型(可选)?分段序列 ?字典?
('a', 'l', 'eX') = 元祖类型数据,不可变序列
['a', 'eX'] = 列表数据,是可变数据
g.将 name 变量对应的值变大写,并输出结果
v6 = v.upper()
print('g',v6) #g ALEX
h.将 name 变量对应的值变小写,并输出结果
v7 = v.lower()
print('h', v7) #h alex
i.请输出 name 变量对应的值的第 2 个字符?
v8 = v[1]
print('i',v8) #i l
j.请输出 name 变量对应的值的前 3 个字符?
v9 = v[0:3]
print('j',v9) #j ale
k.请输出 name 变量对应的值的后 2 个字符?
v14 = v[-2:]
print('k', v14) #k eX
l.请输出 name 变量对应的值中 “e” 所在索引位置?
v11 = v.find('e')
print('l',v11) #l 2
m.获取子序列,仅不包含最后一个字符。如: oldboy 则获取 oldbo; root 则获取 roo
v12 = input('>>>') #等待用户输入
v13 = len(v12) #计算用户输入的字符串的字符数
v13 = v12[0:(v13-1)] #获取从0位到字符串长度减1位的 字符串数值
print(v13)
11、字符串是否可迭代对象?如可以请使用 for 循环每一个元素?
能被for循环就是可迭代
v1 = input('>>>')
for v2 in v1 :print (v2)
12、请用代码实现:
a. 利用下划线将列表的每一个元素拼接成字符串,li = "alexericrain"
li = "alexericrain"
v = '_'.join(li)
print(v) #a_l_e_x_e_r_i_c_r_a_i_n
b. 利用下划线将列表的每一个元素拼接成字符串,li = ['alex', 'eric', 'rain']
li = ['alex','eric','rain']
v = '_'.join(li)
print(v) #alex_eric_rain
13、Python2 中的 range 和 Python3 中的 range 的区别?
python2 中 第一次程序运行到range时会在内存里创建出所有的range数字
python3 中 第一次程序运行到range时只会在内存中创建 range首尾的两个数字
x = range(0,100,1)
for v in x :print(v) # 1 - 99x1 = range(100,0,-1)
for v1 in x1 :print(v1) # 100 - 1
14、实现一个整数加法计算器:例如用户输入 5+5 、5+ 6、 6 + 8 、 9 +9
n = input('>>>')
v1,v2 = n.split('+') #以 + 为分割符 把用户输入的字符串 分割成两个,并且装入v1 和 v2 两个变量里面
v3 = int(v1) + int(v2) #把v1 和 v2 转换成int数据类型然后相加
print(v3)
虽然实现了但是有个疑问?就是split之后 v1和v2 里面可能右空格这个字符,但是可以直接通过int命令转换??反正最终实验结果是成功了
15、计算用户输入的内容中有几个十进制小数?几个字母?(统计用户一共输入了多少位数字或字母)
shuZiShuLiang = 0
ziMuShuLiang = 0
shuRuDeZhi = input('请输入数字或字母:') #等待用户输入 任意值字符串
for x in range(0, len(shuRuDeZhi), 1): #循环0 到 字符串位数的数字每次数值加1v = shuRuDeZhi[x] #给变量V赋值 为输入字符串x位的 字符if v.isdecimal(): #如果当前的字符 是数字shuZiShuLiang += 1 #则shuZiShuLiang值加1elif v.isalpha(): #如果当前字符 是字母ziMuShuLiang += 1 #则ziMuShuLiang值加1else:pass #如果输入的不是数字也不是字母则什么都不做
print('数字', shuZiShuLiang)
print('字母', ziMuShuLiang)
PS:
判断数字用:
isdecimal :只能判断阿拉伯数字为 真 (推荐用这个比较准)
判断字母用:
isalpha 判断字符串中是否只含有字母 或 汉字,输出布尔值
16、简述 int 和 9 等数字
9 是一个数字 是对象 它包含在 int中
str 是字符串类 是一种类型
这就是数据类型与数据的关系
17、制作趣味模板程序
xxx 出生在xxx国 xxx市 从小就是一个 聪明的x(男/女)孩子。
yongHuMingCheng = input('请输入您的姓名:')
chuShengGuoJia = input('请输入您出生的国籍:')
chuShengChengShi = input('请输入您出生的城市:')
xingBie = input('请输入您的性别(男/女):')
#xianShiWenBen = '{x}出生在{x1} {x2} 从小就是一个 聪明的{x3}孩子' #如果直接在{}中写入变量名称那么显示的就是{变量命},因为这个赋值时字符串在''内部
xianShiWenBen = '{0}出生在{1}{2}从小就是一个聪明的{3}孩子'
#上面创建了 显示文本的模板 用了4个占位符
#v = xianShiWenBen.format(x = yongHuMingCheng, x1 = chuShengGuoJia, x2 = chuShengChengShi, x3 = xingBie)
v = xianShiWenBen.format(yongHuMingCheng, chuShengGuoJia, chuShengChengShi, xingBie)
#上面使用了format格式命令 分别依次带入用户所填写的变量值到模板的空位里面,顺序是0到3
print(v)
18、制作随机验证码,不区分大小写
while True: #无线循环def check_code():#以下时生成验证码的命令import randomcheckcode = ''for i in range(4):current = random.randrange(0,4)if current !=i:temp = chr(random.randint(65,90))else:temp = random.randint(0,9)checkcode +=str(temp)return checkcodecode = check_code()print (code) #显示验证码xiaoXieXiTongYanZhengMa = code.lower() #把系统生成验证码变成小写并赋值给变量yongHuYanZhengMa = input('请输入验证码:') #让用户输入验证码xiaoXieYongHuYanZhengMa = yongHuYanZhengMa.lower() #把用户输入验证码变成小写并赋值给 xiaoXieYongHuYanZhengMa 变量if xiaoXieYongHuYanZhengMa == xiaoXieXiTongYanZhengMa: #判断小写用户验证码和小写系统验证码是不是一样print('验证码正确') #如果一样就显示 验证码正确break #跳出循环else:print('验证码有误请重新输入') #如果不一样就显示 重新输入
29、开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:123,qwe,我们,天上,okm
#建立一个敏感词库:123,qwe,我们,天上,okm
#敏感词库:123,qwe,我们,天上,okm
yongHuShuRu = input('>>>') #让用户输入含有敏感词的语句
v = yongHuShuRu.replace('123','***' ) # 分5步过滤敏感词
v = v.replace('qwe', '***')
v = v.replace('我们', '**')
v = v.replace('天上', '**')
v = v.replace('okm', '***')
print(v)
30、制作表格
循环提示用户输入:用户名、密码、邮箱(要求用户输入的长度不超过 20 个字符,如果超过则只有前 20 个字符有效)如果用户输入 q 或 Q 表示不再继续输入,将用户输入的内容以表格形式显示
n = '' #定义一个空的变量
while True: #创建循环yongHuMing = input('用户名:') #等待用户输入名称if yongHuMing == 'q' or yongHuMing == 'Q': #比对用户输入的是否位 Q 或 qbreak #如果是结束循环else:pass #否则什么都不做yongHuMing = yongHuMing[0:20] #对用户输入的名字取20个字符miMa = input('密码') #等待用户输入密码if miMa == 'q' or miMa == 'Q': #比对用户输入的是否位 Q 或 qbreak #如果是结束循环else:pass #否则什么都不做miMa = miMa[0:20] #对用户输入的密码取20个字符youXiangDiZhi = input('邮箱地址')if youXiangDiZhi == 'q' or youXiangDiZhi == 'Q':breakelse:passyouXiangDiZhi = youXiangDiZhi[0:20]
# print(yongHuMing, miMa ,youXiangDiZhi) #打印用户名和密码biaoTou = '用户名\t密码\t邮箱\n' #创建列标题biaoTou = biaoTou.expandtabs(25) #完善列标题print(biaoTou) #显示列标题
# v = 'yongHuMing\t miMa\t youXiangDiZhi\n'biaoGeShuJu = "{x}\t{x1}\t{x2}\n" #创建表格数据模板v = biaoGeShuJu.format(x = yongHuMing, x1 = miMa ,x2 = youXiangDiZhi) #将当前用户输入的值写入表格模板n = n + v #将上一次用户的表格和这一次的相加print(n.expandtabs(25)) #加工制表
Python学习 10 - 基本数据类型小练习相关推荐
- Python学习教程:数据类型—字符串大总结
Python学习教程:数据类型-字符串大总结 1. Python字符串的创建 字符串是Python中最常见的数据类型,通常使用单引号或双引号来定义一个字符串,如下: str = "我是字符串 ...
- JavaScript学习10 JS数据类型、强制类型转换和对象属性
JavaScript学习10 JS数据类型.强制类型转换和对象属性 JavaScript数据类型 JavaScript中有五种原始数据类型:Undefined.Null.Boolean.Number以 ...
- 银角大王 python_小猿圈python学习-细讲数据类型-列表
第一章我们大概介绍了列表的基本用法,本节我们学习下 定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素 再回顾下列表的特点: 1.可存放多个值 2.按照从左到右的顺序定义列表元素 ...
- 小猿圈 python学习-细讲数据类型-字典
引子 我们学了列表 , 现在有个需求, 把你们公司每个员工的姓名.年龄.职务.工资存到列表里,你怎么存? staff_list = [ ["Alex",23,"CEO&q ...
- python学习笔记之数据类型(二)
上一篇博客,小波介绍了python的入门和简单流程控制,这次写python的数据类型和各种数据类型的内置方法. 一.数据类型是何方神圣? 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当 ...
- Python学习笔记---day07数据类型(下)
Day07数据类型(下) 常见的数据类型: int,整数类型(整形) bool,布尔类型 str,字符串类型 list,列表类型 tuple,元组类型 dict,字典类型 set,集合类型 float ...
- Python学习笔记简单数据类型之数字
1.整数: 在Python中可以对整数进行加减乘除以及取模运算,具体代码如下: #整数数据类型学习#加 i = 2 + 3; print(i);#减 i = 3 - 2; print(i);#乘 i ...
- Python学习笔记简单数据类型之字符串
1.字符串: (1).字符串就是一系列字符,串起来形成的一种简单数据类型.在Python中,用引号括起来的都是字符串,包括单引号,双引号,其中字符串可以灵活的运用起来,字符串中可以包括引号和撇号,示例 ...
- 潭州教育-Python学习笔记@基本数据类型作业2
列表方法: 1 lst = ['a','b','c','d'] 2 ##加 3 lst.append('e') ###增加元素 4 lst.extend(['f','g']) ### 拓展列表 5 l ...
最新文章
- NGINX访谈:软件负载均衡、API网关和服务网格的企业采用状况
- Zookeeper和分布式环境中的假死脑裂问题(转)
- 前端学习(218):属性选择器
- 【JavaScript】JS的Array的用法总结
- 凸优化第三章凸函数 3.6关于广义不等式的凸性
- Jmeter 中的BeanShell使用
- 16.	Zigbee应用程序框架开发指南 - 扩展ZigBee Cluster Library (ZCL)
- 《红楼梦》的香气韵调
- 遗传算法pid matlab程序解释,关于遗传算法的pid整定问题
- 【运营宝典】华为分析服务如何助力广告投放策略优化?
- 2021年焊工(初级)考试资料及焊工(初级)复审考试
- 基于RESTful的FastAPI服务模板
- 论文人强烈推荐必备的几个中英文文献网站
- 图像分类数据集 (FASHION-MNIST)
- Nginx的作用是什么?有什么用?
- linux USB触屏无响应驱动出现EPIPE错误
- UVA-10082 WERTYU
- 【问题解决】ESP32报错:make: xtensa-esp32-elf-gcc: Command not found
- 计算机如何增加网络地址,如何添加网络打印机到电脑
- 51CTO稿酬标准2016版正式发布!