第三天学习内容

今日内容

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. PCA 学习笔记

    先简单记下,等有时间再整理 PCA 主要思想,把 协方差矩阵 对角化,协方差矩阵是实对称的.里面涉及到矩阵论的一点基础知识: 基变换: Base2 = P · Base1 相应的 坐标变换 P · c ...

  2. mongodb 更新操作

    db.aaaa.update({},{$push:{money:{$each:[8,9,10],$slice:-4}}}) db.aaaa.update({},{$addToSet:{money:{$ ...

  3. mysql user表 权限字段详解

    Select_priv.确定用户是否可以通过SELECT命令选择数据. Insert_priv.确定用户是否可以通过INSERT命令插入数据. Update_priv.确定用户是否可以通过UPDATE ...

  4. Android开发adb环境配置

    adb的全称为Android Debug Bridge,就是起到调试桥的作用. 在命令行cmd中打开adb,如果Android开发的环境配置有误,会出现如下错误提示: 解决方法,右键我的电脑-> ...

  5. (1)WePHP 开启WePHP

    新建入口文件index.php,定义新项目的目录地址APP_PATH,引入WePHP项目入口文件 <?php define('APP_PATH','./index/'); require_onc ...

  6. Hadoop分布式模式下SSH免密码登录

    1.Hadoop中为什么要配置免密码登录 最近在学习Hadoop,在集群中,Hadoop控制脚本依赖SSH来执行针对整个集群的操作.例如,某个脚本能够终止并重启集群中的所有守护进程.所以,需要安装SS ...

  7. 【小梅哥SOPC学习笔记】NIOS II处理器运行UC/OS II

    SOPC开发流程之NIOS II 处理器运行 UC/OS II 这里以在芯航线FPGA学习套件的核心板上搭建 NIOS II 软核并运行 UCOS II操作系统为例介绍SOPC的开发流程. 第一步:建 ...

  8. hdu2653之BFS

    Waiting ten thousand years for Love Time Limit: 10000/2000 MS (Java/Others)    Memory Limit: 32768/3 ...

  9. thinkjs 框架图

  10. Linux基础--安装搭建tomcat+java+mysql

    一.安装jdk 1.可选安装yum -y install lrzsz方便传文件.(yum -y意思是所有的都选yes) yum update -y  更新yum镜像 yum list lrzsz* 列 ...