第三天学习内容

今日内容

1、整型(int)

2、布尔类型(bool)

3、字符串(str)

内容详细

1、整型

Python中的整型用int表示。
1.python2中:

  • 在32位机器上,整数的位数为32位,取值范围为-231~231-1,即-2147483648~2147483647

  • 在64位系统上,整数的位数为64位,取值范围为-263~263-1,即-9223372036854775808~9223372036854775807

  • 超出长度之后就会变为long类型。

2.python3中:

  • 只有int,所有数字都是int类型。

注意:在python2中使用除法时,只能保留整数位,如果想要保留小数位,可以先导入一个模块。

from __future__ import division
value = 3/2
print(value)

2、布尔值(bool)

  • 只有两个值:True/False
  • 转换
    • 数字转布尔:0是False,其他都是True
    • 字符串转布尔:“”是False,其他都是True

3、 字符串(str/string)

1.字符串特有功能

  • 1.upper() #全部大写

    .lower()#全部小写

    # 示例一
    a = "ascd"
    b = a.upper()
    print(a,b)    # ascd ASCD
    
    # 示例二
    a = "ABCD"
    b = a.lower()
    print(a,b)    # ABCD abcd
  • 2.isdigit() #字符串是否数字组成

    # 示例一
    a = "ABCD"
    b = a.isdigit()
    print(a,b)    # ABCD False
    
    # 示例二
    a = "123"
    b = a.isdigit()
    print(a,b)    # 123 True
  • 3.strip() #去除两边空格

    .lstrip() #去除左边空格

    .rstrip()#去除左边空格

    # 示例一
    a = "   123   "
    b = a.strip()
    print(">>%s<<,"%(a),">>%s<<,"%(b))    # >>   123   <<, >>123<<,
    
    # 示例二
    a = "   123   "
    b = a.lstrip()
    print(">>%s<<,"%(a),">>%s<<,"%(b))    # >>   123   <<, >>123   <<,
    
    # 示例三
    a = "   123   "
    b = a.rsplit()
    print(">>%s<<,"%(a),">>%s<<,"%(b))#>>   123   <<, >>   123<<,<<,
  • 4.replace("被替换的字符/子序列","要替换为的内容") .

    replace("被替换的字符/子序列","要替换为的内容",几次)。

    # 示例一
    a = "abc23"
    b = a.replace("ab","12")
    print(b)  # 12c23
    
    # 示例二
    a = "abc23abab"
    b = a.replace("ab","12",2)
    print(b)  # 12c2312ab
  • 5.split('根据什么东西进行分割') #从左往右分割

    .split('根据什么东西进行分割', 几次) #从左往右分割

    . rsplit('根据什么东西进行分割') #从右往左分割

    . rsplit('根据什么东西进行分割', 几次) #从右往左分割

    # 示例一
    a = "abc23abab"
    b = a.split("b")
    print(b)  # ['ab', '23abab']  #['a', 'c23a', 'a', ''] 
    
    # 示例二
    a = "abc23abab"
    b = a.split("b",2)
    print(b)  # ['a', 'c23a', 'ab']
    
    # 示例三
    a = "abc23abab"
    b = a.rsplit("b")
    print(b)  # ['a', 'c23a', 'a', '']
    
    # 示例三
    a = "abc23abab"
    b = a.rsplit("b",2)
    print(b)  # ['abc23a', 'a', '']
  • 6.startswith() # 判断是否以什么开头

    .endswith() #判断是否以什么结尾

    # 示例一
    a = "abc23abab"
    b = a.startswith("a")
    print(b)  # True
    
    # 示例二
    a = "abc23abab"
    b = a.endswith("b")
    print(b)  # True
  • 7.format # 字符串格式化的功能。

    基本语法是通过 {}: 来代替以前的 %

    format 函数可以接受不限个参数,位置可以不按顺序。

    a = "{} {}".format("hello", "world")   # 不设置指定位置,按默认顺序
    print(a)  # 'hello world'
    
    a = "{0} {1}".format("hello", "world")  # 设置指定位置
    print(a)  # 'hello world'
    
    a = "{1} {0} {1}".format("hello", "world")  # 设置指定位置
    print(a)  # 'world hello world'
  • 8.encode() # 指定的编码格式编码字符串

    name = '李杰' # 解释器读取到内存后,按照unicode编码存储:8个字节。
    v1 = name.encode('utf-8')
    print(v1)
    v2 = name.encode('gbk')   # b'\xe6\x9d\x8e\xe6\x9d\xb0'   b为字节
    print(v2)            # b'\xc0\xee\xbd\xdc' 
  • 9.join() # 将序列中的元素以指定的字符连接生成一个新的字符串。

    name = 'abcd' # a_b_c_d
    result = "+".join(name) # 循环每个元素,并在元素和元素之间加入连接符。
    print(result) # a+b+c+d

2.公共功能

  • len,计算长度(计算字符串中字符的数量)

    value = "alex"
    number = len(value)
    print(number)
  • 索引取值(0位起始点)

    v = "oldboy"
    v1 = v[0] # 0 1 2 3 ...从前往后看
    v2 = v[-1] # -1 -2 -3 ...从后往前
  • 切片 (0作为开始)

    v = "oldboy"
    v1 = v[2:4] # 2<= 索引位置 < 4
    v2 = v[3:6] # 3<= 索引位置 <= 5
    v2 = v[3:-1] # 3<= 索引位置 < 5
    v2 = v[3:] # 3<= 索引位置 <最后
    v2 = v[:-1] # 第一位 索引位置 <= 5
    print(v2)
    • 步长(面试题) #按区间取值
    # 示例一
    name = 'abcde'
    val = name[0:-1:2]
    print(val)    # ac
    
    # 示例二
    name = 'abcde'
    val = name[::-1]
    print(val)    # edcba
  • for循环

    name = 'abcde'
    for item in name:
        print(item)   # 依次打印name里每个元素
  • range # 创建一个整数列表,一般用在 for 循环中。

    for i in range(1,11):
        if i == 7:
            pass
        else:
            print(i)  # 1 2 3 4 5 6 8 9 10

3.特性

  • 不可变,所以字符串元素不能删除和修改

4、练习题

# !/usr/bin/env python
# -*- coding:utf-8 -*-
# 第一题 有变量name = "aleX leNb " 完成如下操作:

name = "aleX leNb "

name_new = name.strip()
# 移除 name 变量对应的值两边的空格,并输出处理结果
print(name_new)

name_new = name[0:2]
# 判断 name 变量是否以 "al" 开头,并输出结果(用切片)
if name_new == 'al':
    print(name_new)

name_new = name[-2:]
# 判断name变量是否以"Nb"结尾,并输出结果(用切片)
if name_new == 'Nb':
    print(name_new)

name_new = name.replace('l','p')
# 将 name 变量对应的值中的 所有的"l" 替换为 "p",并输出结果
print(name_new)

name_new = name.split('l')
# 将 name 变量对应的值根据 所有的"l" 分割,并输出结果
print(name_new)

name_new = name.split('l',1)
# 将name变量对应的值根据第一个"l"分割,并输出结果
print(name_new)

name_new = name.lower()
# 将 name 变量对应的值变小写,并输出结果
print(name_new)

name_new = name[1:2]
# 请输出 name 变量对应的值的第 2 个字符?
print(name_new)

name_new = name[0:3]
# 请输出 name 变量对应的值的前 3 个字符?
print(name_new)

name_new = name[-2:]
# 请输出 name 变量对应的值的后 2 个字符?
print(name_new)

#第二题 有字符串s = "123a4b5c"
s = "123a4b5c"

s_new = s[0:3]
# 通过对s切片形成新的字符串 "123"
print(s_new)

s_new = s[3:6]
# 通过对s切片形成新的字符串 "a4b"
print(s_new)

s5 = s[-1:]
# 通过对s切片形成字符串s5,s5 = "c"
print(s5)

d = s[-3] + s[3] + s[1]
# 通过对s切片形成字符串s6,s6 = "ba2"
print(d)

# 第三题 使用while循环字符串 s="asdfer" 中每个元素。

s="asdfer"
a = int(len(s))  #计算s的长度
b = 0
while b<a:
    c = s[b]
    print(c)
    b +=1

# 第四题 使用while循环对s="321"进行循环,打印的内容依次是:"倒计时3秒","倒计时2秒","倒计时1秒","出发!"。

s="321"
a = int(len(s))  #计算s的长度
b = 0
while b<a:  #循环
    c = s[b]    #一次打印索引
    print("倒计时%s秒"%(c))
    b +=1
print("出发!")

# 第五题 实现一个整数加法计算器(两个数相加)
#   如:content = input("请输入内容:")
#   用户输入:5+9或5+ 9或5 + 9(含空白),然后进行分割转换最终进行整数的计算得到结果。

content = input("请输入内容:") #先输入内容
a = content.strip()
b = a[0:1]
c = a[-1:]
d = int(b)+int(c)
print(d)

# 第六题 计算用户输入的内容中有几个 h 字符?
# 如:content = input("请输入内容:") # 如fhdal234slfh98769fjdla

s=input("请输入内容:")
a = int(len(s))  #计算s的长度
b = 0
d = 0
while b<a:  #循环
    c = s[b]    #一次打印索引
    if c == 'h':
        d = d + 1
    b +=1
print(d)

# 第七题 计算用户输入的内容中有几个 h 或 H 字符?
# 如:content = input("请输入内容:") # 如fhdal234slfH9H769fjdla

s=input("请输入内容:")
a = int(len(s))  #计算s的长度
b = 0
d = 0
while b<a:  #循环
    c = s[b]    #依次打印索引
    e = c.upper() #强制转换为大写
    if e == 'H': #判断索引是否为 H
        d = d + 1
    b +=1
print(d)

# 第八题 使用while循环分别正向和反向对字符串 message = "伤情最是晚凉天,憔悴厮人不堪言。" 进行打印。

#message = "伤情最是晚凉天,憔悴厮人不堪言。"
# 正向
s=input("请输入内容:")
a = int(len(s))  #计算s的长度
b = 0
while b < a:
    c = s[b]
    print(c)
    b = b + 1
 #反向
s=input("请输入内容:")
a = -int(len(s))  #计算s的长度
b = -1
while b > a:
    c = s[b]
    print(c)
    b = b - 1

# 第九题 获取用户输入的内容中 前4个字符中 有几个 A ?

s=input("请输入内容:")
a = 0
d = 0
while a<4:  #循环
    c = s[a]    #一次打印索引
    if c == 'A':
        d = d + 1
    a +=1
print(d)

# 第十题 获取用户输入的内容,并计算前四位"l"出现几次,并输出结果。

s=input("请输入内容:")
a = 0
d = 0
while a<4:  #循环
    c = s[a]    #一次打印索引
    if c == 'l':
        d = d + 1
    a +=1
print(d)

# 第十一题 获取用户两次输入的内容,并将所有的数据获取并进行相加,如:
# 要求:
#   将num1中的的所有数字找到并拼接起来:1232312
#   将num1中的的所有数字找到并拼接起来:1218323
#   然后将两个数字进行相加。
# num1 = input("请输入:") # asdfd123sf2312
# num2 = input("请输入:") # a12dfd183sf23
# # 请补充代码

num1 = input("请输入:")
num2 = input("请输入:")
a = len(num1)
b = len(num2)
c = 0
d = 0
while c < a:
    e1 = num1[c]
    f1 = e1.isdigit()
    if f1 == True:
        g1 += f1
    else:
        pass
    c += 1
while d < b:
    e2 = num2[d]
    f2 = e2.isdigit()
    if f2 == True:
        g2 += f2
    else:
        pass
    d += 1
print(g1 + g2)

分分钟钟学会Python - 数据类型(int、bool、str)的更多相关文章

  1. 分分钟钟学会Python - 数据类型(list、tuple)

    第四节 数据类型(列表.元祖) 今日内容 列表 元祖 1.列表 1.格式 users = ["ji",1,3,"gyhj"] 2.公共方法 1.len #计算长 ...

  2. 分分钟钟学会Python - 数据类型(set)

    目录 今日内容 具体内容 1.集合含义 2.独有方法 3.公共方法 4.特殊情况 5.总结 @ 今日内容 集合(set) 具体内容 1.集合含义 一个无序的不重复元素序列. 可以使用大括号 { } 或 ...

  3. 分分钟钟学会Python - 数据类型(dict)

    今日内容 字典(dict) 具体内容 1.字典含义 帮助用户去表示一个事物的信息(事物是有多个属性). 基本格式 data = {键:值,键:值,键:值,键:值,键:值,键:值,} # 练习题 use ...

  4. 基本数据类型int,bool,str

    .基本数据类型(int,bool,str) 基本数据数据类型: int 整数 str 字符串. 一般不存放大量的数据 bool 布尔值. 用来判断. True, False list 列表.用来存放大 ...

  5. day3------基本数据类型int, bool, str,list,tuple,dict

    基本数据类型(int, bool, str,list,tuple,dict) 一.python基本数据类型 1. int  整数. 主要用来进行数学运算 2. str  字符串, 可以保存少量数据并进 ...

  6. 第三天-基本数据类型 int bool str

    # python基础数据类型 # 1. int 整数 # 2.str 字符串.不会用字符串保存大量的数据 # 3.bool 布尔值. True, False # 4.list 列表(重点) 存放大量的 ...

  7. 基本数据类型(int,bool,str)

    目录: 1.int        数字类型 2.bool      布尔值 3.str    字符串类型 一.整型(int) 在python3中所有的整数都是int类型.但在python2中如果数据量 ...

  8. python中的基本数据类型(int,bool,str)及字符串操作

    一. 基本数据类型概况 1.  int 整数,主要用来进行数学运算 2.  str 字符串,可以保存少量数据并进行相应的操作 3.  bool 布尔值,判断真假,True,False 4.  list ...

  9. python基本数据类型,int,bool,str

    一丶python基本数据类型 1.int 整数,主要用来进行数学运算. 2.str 字符串,可以保存少量数据并进行相应的操作 3.bool 判断真假.True.False 4.list 存储大量数据, ...

随机推荐

  1. 网站如何集成Facebook和Twitter第三方登录

    最近公司要求做海外的第三方登录:目前只做了Facebook和Twitter;国内百度到的信息太少VPN FQ百度+Google了很久终于弄好了.但是做第三方登录基本上都有个特点就是引入必须的js,设置 ...

  2. 通过cat方式生成yum源

    cat >> /etc/yum.repos.d/centos7.repo << EOF[test-iso7]name=CentOS- - Mediabaseurl=http:/ ...

  3. java IO其他流

    1.内存操作流,ByteArrayInputStream和 ByteArrayOutputStream 案例:将小写转化为大写 /* * 内存操作流,将大写字母转化为小写字母(ByteArrayInp ...

  4. Thrift辅助类,用于简化Thrift编程

    CThriftServerHelper用于服务端,CThriftClientHelper用于客户端. IDL定义: service PackageManagerService { } 服务端使用示例: ...

  5. 两个SSH2间免密码登录

    SSH2免密码登录OpenSSHhttp://blog.csdn.net/aquester/article/details/23836299 OpenSSH免密码登录SSH2http://blog.c ...

  6. 第08章 ElasticSearch Java API

    本章内容 使用客户端对象(client object)连接到本地或远程ElasticSearch集群. 逐条或批量索引文档. 更新文档内容. 使用各种ElasticSearch支持的查询方式. 处理E ...

  7. JavaScript语言精粹 笔记01 语法 对象

    内容比较简单,只是从头梳理一下JS的知识 语法空白标识符数字字符串语句 对象对象字面量检索更新引用原型反射枚举删除减少全局变量污染  语法 1 空白 空白可能表现为格式化字符或注释的形式.空白通常没有 ...

  8. IIC接口总线

    转载:http://www.eefocus.com/article/08-07/48416s.html图11-1给出一个由MCU作为主机,通过IIC总线带3个从机的单主机IIC总线系统.这是最常用.最 ...

  9. python-接口测试(思路)

    案例:接口发送post请求 步骤1:编写方法,用于提交post请求 步骤2:编写测试数据对象,用户提交测试数据 步骤3:调用方法和数据,进行测试 实例展示: 步骤1:编写方法checkapi_post ...

  10. [LeetCode 题解]: Maximum Depth of Binary Tree

    Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the long ...