pythonday03数据类型(一)
今日内容
1.整型
2.布尔型
3.字符串
4.补充
5.作业讲解
6,pycharm自动生成头文件
1.整型(int)
py2
int/long
32位电脑:-2147483648~2147483647
64位电脑:-9223372036854775808~9223372036854775807
超出范围后python自动将其转换成long(长整形)
整型除法只能保留整数位。
from __future__ import division v = 9 /2
print(v)
py3
只有int
整型除法只能保留所有。
2.布尔值(bool/boolen)
只有两个值:True/False
转换
数字转布尔:0是False,其他都是True
字符串转布尔:“”是False,其他都是True
3.字符串(str/string)
字符串特有
.upper() / .lower()
.isdigit()
.strip() / .lstrip() / .rstrip()
.replace("被替换的字符/子序列","要替换为的内容") / .replace("被替换的字符/子序列","要替换为的内容", 1)
.split('根据什么东西进行分割') / .split('根据什么东西进行分割',num) :如果参数 num 有指定值,则分隔 num+1 个子字符串
- .startswith()/.endswith():判断是否以什么开头和结尾
name = 'alex' # 判断是否已al开头
"""
# 方式一:
flag = name.startswith('al')
print(flag)
"""
"""
# 方式二:
val = name[0:2]
if val == 'al':
print('是以al开头')
else:
print('不是')
""" - .format():格式化
name = "我叫{0},年龄:{1}".format('老男孩',73)
print(name) - .encode():按所写格式编
name = '李杰' # 解释器读取到内存后,按照unicode编码存储:8个字节。
v1 = name.encode('utf-8')
print(v1)
v2 = name.encode('gbk')
print(v2)º .join()每个元素之间加所写的连接符
name = 'alex' # a_l_e_x
result = "**".join(name) # 循环每个元素,并在元素和元素之间加入连接符。
print(result)
公共
len ,计算长度。 (字符串->计算字符串中的字符个数)
索引取值(0作为开始)
v = "oldboy"
v1 = v[0] # 0 1 2 3 ... 从前向后
v2 = v[-1] # -1 -2 -3 ...从后向前
º 切片(以0作为开始)
v = "oldboy" # v1 = v[2:4] # 2 =< 索引位置 <3
# v2 = v[3:6]
# v2 = v[3:-1]
# v2 = v[3:]
# v2 = v[:-1]
# print(v2) # 示例: 取最后两个字符
# data = input('请输入:')
# 方式一
# v = data[-2:]
# print(v)
# 方式二
# total_len = len(data)
# v = data[total_len-2:total_len]
# print(v)
° 步长
步长格式 变量[开始索引:结束索引:长度]
步长计算公式 当前索引+ 步长= 下一个索引
步长同时也可以取成负数
步长为负数时,省略开头,对应的是最后一个结尾
步长为负数时,省略结尾,对应的是第一个元素
name = 'alex' # val = name[0:-1:2]
# val = name[1:-1:2]
# val = name[1::2]
# val = name[::2]
# val = name[-1:0:-2]
# print(val)
# 笔试题:请将字符串反转。
val = name[::-1]
print(val)
º for循环
name = 'alex'
for item in name:
print(item)
continue
print('')
º 练习题
v = "Python全栈21期" if "全栈" in v:
print('含敏感字符')
4.补充
运算符补充
in
value = "我是中国人"
# 判断‘中国’是否在value所代指的字符串中。 “中国”是否是value所代指的字符串的子序列。
v1 = "中国" in value # 示例
content = input('请输入内容:')
if "退钱" in content:
print('包含敏感字符')
# 示例
while True:
content = input('请输入内容:')
if "退钱" in content:
print('包含敏感字符')
else:
print(content)
break
not in
优先级
not 2 > 1 not 2 > 1 # 错误
not 2>1 # 正确
5.习题讲解
【1.三次登陆.py 】
#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""""" """
需求:用户三次登陆 1. 功能拆分
2. 拼凑功能(中文)
""" # 功能一:用户登陆
"""
user = input('请输入用户名:')
pwd = input('请输入密码:')
if user == 'oldboy' and pwd == 'alex':
print('登陆成功')
else:
print('登陆失败')
"""
# 功能二:三次机会
"""
count = 1
while count <= 3:
print(count)
count += 1
""" # ########################### 功能嵌套 #################################
"""
count = 1
while count <= 3:
user = input('请输入用户名:')
pwd = input('请输入密码:')
if user == 'oldboy' and pwd == 'alex':
print('登陆成功')
break
else:
print('登陆失败')
if count == 3:
break
count += 1
""" """
需求:用户三次登陆,允许用户最多尝试3次,每尝试3次后,如果还没输入正确,就问用户是否还想继续玩,如果回答Y,就继续让其猜3次,以此往复,如果回答N,就退出程序,如何猜对了,就直接退出。 1. 功能拆分
2. 拼凑功能(中文)
""" count = 1
while count <= 3:
user = input('请输入用户名:')
pwd = input('请输入密码:')
if user == 'oldboy' and pwd == 'alex':
print('登陆成功')
break
else:
print('登陆失败')
if count == 3:
choice = input('请输入是否继续(Y/N):')
if choice == 'N':
break
elif choice == 'Y':
count = 1
continue
else:
print('输入错误')
break
count += 1
【2..用户登陆三次并提示剩余次数.py】
#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
此文件是用于给同学演示用户三次登陆的示例
""" # ⽤户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使⽤字符串格式化) # 功能一:用户登陆
"""
user = input('请输入用户名:')
pwd = input('请输入密码:')
if user == 'oldboy' and pwd == 'alex':
print('登陆成功')
else:
print('登陆失败')
""" # 功能二:三次机会并提示
"""
count = 1
while count <= 3:
x = input('请输入:')
# print('用户名和密码输入和校验,错误')
# print(count) # 剩余2次/ 1次/ 0次
timer = 3 - count
template = "用户名或密码输入错误,剩余%s次机会。" %(timer,)
print(template)
count += 1
"""
"""
count = 2
while count >=0:
user = input('请输入用户名:')
pwd = input('请输入密码:')
if user == 'oldboy' and pwd == 'alex':
print('欢迎登陆')
break
else:
template = "用户名或密码输入错误,剩余%s次机会。" % (count,)
print(template)
count -= 1
""" count = 2
while count >=0:
user = input('请输入用户名:')
pwd = input('请输入密码:')
if user == 'oldboy' and pwd == 'alex':
print('欢迎登陆')
break
template = "用户名或密码输入错误,剩余%s次机会。" % (count,)
print(template)
count -= 1
else:
print('三次机会用完')
【3..字符串.py】
#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""""" # ############## 1. upper/lower #################
# value = "alex SB"
# new_value = value.upper()
# new_value = value.lower()
# print(value,new_value) # #### 验证码示例
"""
check_code = 'iyUF'
message = '请输入验证码 %s:' %(check_code,)
code = input(message)
new_check_code = check_code.lower()
new_code = code.lower()
if new_code == new_check_code:
print('输入成功')
"""
# #### 验证码示例
"""
check_code = 'iyUF'
code = input('请输入验证码 %s :' %(check_code,))
if code.lower() == check_code.lower():
print('登陆成功')
""" # ############## 2. isdigit #################
# print("""欢迎致电10086
# 1.花费查询
# 2.业务办理
# 3.款单
# """)
# while True:
# num = input('请选择服务:')
# # 判断用户输入 字符串 是否可以转换成 数字。 # “999” “阿斯顿发生”
# flag = num.isdigit()
# # print(flag) # "1" -> True "asdf" --> False
# if flag:
# num = int(num)
# print(num)
# else:
# print('请输入数字') # ############## 3. 去除空白 strip/lstrip/rstrip ##############
"""
user = input('请输入用户名:') # " alex " # new_user1 = user.rstrip() # new_user1 = " alex" user=" alex "
# new_user2 = new_user1.lstrip()
# 或
new_user2 = user.strip() data = new_user2.upper()
print('---->',data,'<-----')
""" # ############## 4. 替换 replace ##############
"""
message = input('请说话:')
print(message) # “我去你大爷的家里玩”
# data = message.replace('大爷',"**")
data = mess
age.replace('大爷',"**",num)#num -- 可选字符串, 替换不超过 num 次
print(data)
""" # ############## 5. 切割 split/rsplit ##############
# num -- 分割次数。默认为 -1, 即分隔所有。
"""
message = "小黑现在一脸懵逼,因为昨天晚上一直在学习,直到深夜。"
# result = message.split(',')
# result = message.split(',',1) # result = message.rsplit(',')
result = message.rsplit(',',1) print(result)
"""
【4..公共功能.py】
#!/usr/bin/env python
# -*- coding:utf-8 -*- # 1. 计算长度
# value = "alex"
# number = len(value)
# print(number) # 2. 索引
"""
value = 'alexasdfasdfasdfasdfas'
# v1 = value[4]
# print(v1)
value_len = len(value) # 4
index = 0
while True:
val = value[index]
print(val)
if index == value_len-1:
break index += 1 """
# v = "oldboy"
# v1 = v[0] # 0 1 2 3 ...
# v2 = v[-3]
# print(v2) # 3. 切片
# v = "oldboy"
# v1 = v[2:4] # 2 =< 索引位置 <3
# v2 = v[3:6]
# v2 = v[3:-1]
# v2 = v[3:]
# v2 = v[:-1]
# print(v2) # 示例: 取最后两个字符
# data = input('请输入:')
# 方式一
# v = data[-2:]
# print(v)
# 方式二
# total_len = len(data)
# v = data[total_len-2:total_len]
# print(v) # 练习题1
"""
需求:让用户输入任意字符串,获取字符串之后并计算其中有多少个数字。
"""
"""
total = 0
text = input('请输入内容:') # ads2kjf5adja453421sdfsdf
index_len = len(text)
index = 0
while True:
val = text[index]
#print(val) # "a"
# 判断val是否是数字
# - 是数字:total + 1
# - 不是:继续玩下走,执行下一次循环去检查下一个字符。
flag = val.isdigit()
if flag:
total = total + 1 # total += 1
if index == index_len - 1:
break
index += 1 print(total)
"""
6,pycharm自动生成头文件

pythonday03数据类型(一)的更多相关文章
- Python--day03(变量、数据类型、运算符)
day02主要内容回顾 1.语言的分类 -- 机器语言:直接编写0,1指令,直接能被硬件执行 -- 汇编语言:编写助记符(与指令的对应关系),找到对应的指令直接交给硬件执行 -- 高级语言:编写人能识 ...
- JavaScript 中的数据类型
Javascript中的数据类型有以下几种情况: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Function,Date,Ar ...
- JS 判断数据类型的三种方法
说到数据类型,我们先理一下JavaScript中常见的几种数据类型: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Functi ...
- Python高手之路【二】python基本数据类型
一:数字 int int(整型): 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取值 ...
- UniqueIdentifier 数据类型 和 GUID 生成函数
UniqueIdentifier 数据类型用于存储GUID的值,占用16Byte. SQL Server将UniqueIdentifier存储为16字节的二进制数值,Binary(16),按照特定的格 ...
- SQL Server常见数据类型介绍
数据表是由多个列组成,创建表时必须明确每个列的数据类型,以下列举SQL Server常见数据类型的使用规则,方便查阅. 1.整数类型 int 存储范围是-2,147,483,648到2,147,483 ...
- 由js apply与call方法想到的js数据类型(原始类型和引用类型)
原文地址:由js apply与call方法想到的js数据类型(原始类型和引用类型) js的call方法与apply方法的区别在于第二个参数的不同,他们都有2个参数,第一个为对象(即需要用对象a继承b, ...
- python 数据类型 ----字典
字典由一对key:value 组成的 python中常用且重量级的数据类型 1. key , keys, values 字典由一对key:value 组成的 python中常用且重量级的数据类型 1. ...
- SQL数据类型
1.Character 字符串: 数据类型 描述 存储 char(n) 固定长度的字符串.最多8,000个字符. n varchar(n) 可变长度的字符串.最多8,000个字符. varchar ...
随机推荐
- Java集合对象比对
1. 场景描述 通过java代码从外围接口中获取数据并落地,已经存在的不落地,不存在的落地,因有部分字段变化是正常的,只需比对3个字段相同即为相同. 2. 解决方案 设置定时任务(三个标签完成spri ...
- [NOIP2009]靶形数独 题解
407. [NOIP2009] 靶形数独 时间限制:5 s 内存限制:128 MB [问题描述] 小城和小华都是热爱数学的好学生,最近,他们不约而同地迷上了数独游戏,好胜的他们想用数独来一比高低. ...
- Android开发-百度地图之电子围栏
功能实现:根据经纬度创建一个坐标,判断该坐标是否在指定圆形覆盖范围内 两个计算方法,直接套用: /** * 地球半径 */private static double EARTH_RADIUS = 63 ...
- printf函数的返回值
先看下面一段程序: 文末会给大家推荐几本好书,希望能够需要的朋友一点帮助! #include <stdio.h> int main() { int i = 123; printf(&quo ...
- 关于Markdown编辑器的基本使用规则
@TOC 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页.如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown ...
- py+selenium 老是定位不到文本内容【已解决】
问题:定位不到文本内容,路径也正确,该加frame也有加,等待时间也够长 测试: 上图看不出差异,但是测试1就定位得到,测试2就定位不到,为什么? 看下图就知道了 区别就在于,测试2后面多了个空格!! ...
- python 面向对象编程 - 小游戏
面向对象写的小游戏 欢迎玩耍 class Omnicience: camp = 'Omniscience' def __init__(self, name, atk=100, hp=1000, mp= ...
- RecycleView文字吸顶,点击吸顶布局刷新数据
实现效果 需求 Recycle有一个头布局,可以跟随列表进行滑动 点击头布局之后可以重新加载列表数据 随着头布局的消失,留下一个可点击的布局(该布局在头布局中) 效果类似下图: 淘宝的商品列表,随着我 ...
- vscode在win10 / linux下的.vscode文件夹的配置 (c++/c)
系统方面配置自行查找 linux: launch.json { // 使用 IntelliSense 了解相关属性. // 悬停以查看现有属性的描述. // 欲了解更多信息,请访问: https:// ...
- nginx目录穿越漏洞复现
nginx目录穿越漏洞复现 一.漏洞描述 Nginx在配置别名(Alias)的时候,如果忘记加/,将造成一个目录穿越漏洞. 二.漏洞原理 1. 修改nginx.conf,在如下图位置添加如下配置 在如 ...