第三天学习内容

今日内容

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. .NET开源MSSQL、Redis监控产品Opserver之Redis配置

    安全与基础配置地址:http://www.cnblogs.com/xiaopotian/p/6898310.html edis监控数据实例的加载可以查看Opserver.Core项目data/Redi ...

  2. dbcp的销毁

    使用commons-dbcp-1.2.2.jar的DataSource,发现每次动态编译后连接池中的连接不会释放,新的连接池建立有mssql多出一组连接,只有重新启动tomcat或weblogic才可 ...

  3. HDU 4714 Tree2cycle (树形DP)

    题意:给定一棵树,断开一条边或者接上一条边都要花费 1,问你花费最少把这棵树就成一个环. 析:树形DP,想一想,要想把一棵树变成一个环,那么就要把一些枝枝叶叶都换掉,对于一个分叉是大于等于2的我们一定 ...

  4. JavaScript - this详解 (二)

    用栗子说this Bug年年有,今年特别多 对于JavaScript这么灵活的语言来说,少了this怎么活! function 函数 this 对于没有实例化的function,我们称之为函数,即没有 ...

  5. 解决安装VC6.0后出现MSDEV.EXE错误,无法用打开工程解决方法

    问题:安装VC6.0后,在打开项目或添加文件时,出现如下错误: 可能导致原因:由于Ms安装软件的兼容性问题,导致VC6.0安装不完全, 解决方法:--网上打sp6补丁的方法貌似不可用,所以可以采用另一 ...

  6. C# 调用带输入输出参数的存储过程

    //调用存储过程执行类似于2//select count(*) from userinfo where username=username and pwd=pwd and grade=grade3// ...

  7. python之文件操作总结

    目录 文件:数据的抽象和集合 文件的打开关闭 文件内容的读取 文件的全文本操作 文件的逐行操作 数据文件的写入 使用json模块 文件:数据的抽象和集合 文件是存储在辅助存储器上的数据序列 文件是数据 ...

  8. Inno Setup卸载时注销bho

    Inno setup是一个制作安装包的免费工具,比如你用Qt开发完成一款软件,拿Inno setup打个安装包甩给客户安装就好了. 但是bho插件在注册后,万一用户卸载软件时,bho插件还是躺在管理加 ...

  9. 解决:The APR based Apache Tomcat Native library which allows optimal performance in production...

    tomcat日志apr报错引发的基于Tomcat Native加速Tomcat性能 tomact服务启动报错日志如下:息: The APR based Apache Tomcat Native lib ...

  10. python学习之路 五:函数式编程

    本节重点 掌握函数的作用.语法 掌握作用域.全局变量与局部变量知识 掌握函数名称空间.闭包 一.函数编程基础知识 1.基本定义 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数 ...