第三天学习内容

今日内容

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. STL扩展容器

    string | array | hash 1. string - 可以视为以字符为元素的一种容器, 可以在字符上进行遍历, 提供begin()/end() - 为了支持迭代器和迭代器适配器 , st ...

  2. [GO]结构体成员的使用:普通变量

    package main import "fmt" func main() { type student struct { id int name string sex byte ...

  3. 【转载】Jedis对管道、事务以及Watch的操作详细解析

    转载地址:http://blog.csdn.net/liyantianmin/article/details/51613772 1.Pipeline 利用pipeline的方式从client打包多条命 ...

  4. Java虚拟机学习(1): 类加载机制

    转自:微信公共号ImportNew 来源:java2000_wl 链接:blog.csdn.net/java2000_wl/article/details/8040633 JVM把class文件加载的 ...

  5. 编写高质量代码改善C#程序的157个建议——建议68:从System.Exception或其他常见的基本异常中派生异常

    建议68:从System.Exception或其他常见的基本异常中派生异常 微软建议:从System.Exception或其他常见基本异常之一派生异常.在Visual Studio中输入Excepti ...

  6. java 访问HTTPS rest服务

    import java.io.*;import java.net.*;import java.security.cert.CertificateException;import java.securi ...

  7. Maven整理笔记のMaven使用实践

    我们通过实践来补充Maven构建的生命周期. 第一步:配置POM 接着上一篇Maven使用,我们先创建一个名为helloworld的文件夹,在helloworld目录下创建pom.xml文件,pom. ...

  8. DELPHI XE5-8 弹出列表框供选择

    点击章节练习: var tmplm:Tlistboxitem; begin dm.FDQTMP.SQL.Clear; dm.FDQTMP.SQL.Add('select GSESSON from TS ...

  9. SOLR企业搜索平台 一 (搭建SOLR)

    前提是已经安装了java的环境,环境变量的配置不做为讲解,网上也有大量资料.下面以linux为例来说明如何搭建好一个solr 1)首先下载solr,下载地址:http://mirror.bit.edu ...

  10. MySQL数据库(三)

    1. 创建表 create table student( id int unsigned not null auto_increment primary key, name varchar(8) no ...