第三节

一、整形和布尔值的转换

  1. int整型

    python3: 全部都是整型

    python2: 整型,长整型long

    • 十进制转换二进制

      # 将十进制的168转换为二进制 ​#得出结果 将十进制的168转换为二进制,(10101000)2 #分析:第一步,将168除以2,商84,余数为0。 #第二步,将商84除以2,商42余数为0。 #第三步,将商42除以2,商21余数为0。 #第四步,将商21除以2,商10余数为1。 #第五步,将商10除以2,商5余数为0。 #第六步,将商5除以2,商2余数为1。 #第七步,将商2除以2,商1余数为0。 #第八步,将商1除以2,商0余数为1。 #第九步,读数,因为最后一位是经过多次除以2才得到的,因此它是最高位,读数字从最后的余数向前读,即10101000  print(bin(168))
    • 二进制转换十进制

      # 111110# 2进制 - 10进制# 0 * 2**0 + 1 * 2 ** 1 + 1 * 2**2 + 1* 2**3 + 1 * 2 ** 4 + 1 * 2 ** 5# 0 + 2 + 4 + 8 + 16 + 32 = 62print(int("111110",2))
  2. bool布尔值

    • 非0即True,0是False

      True == 1

      False == 0

    • 字符串中只要没有内容就是False

    例:

    a = bool(0)print(a) # False a = int(True)print(a) # 1a = int(False)print(a) # 0a = int(False)print(a) # Truea = bool(" ")print(a) # Truea = bool("")print(a) # False​

二、字符串详解

  • python中只要是引号引起来的就是字符串

  • 字符串用于存储数据,存储少量数据

  • 字符串中的每一个字母或者字符都称为元素

  1. 索引index

    索引的时候不能超出索引的最大值

  2. 切片and步长

    切片的时候可以超出索引值(起始都可以超出)

    步长:1,2,3从左至右

    -1,-2,-3从右至左

    例:

    # 从左向右排a = "0123456"# 从左向右排a = "-7-6-5-4-3-2-1"a = "风yu雷dian宝元"print(a[4]) # dprint(a[-4]) # aname = "alex,wusir,太白金星,女神,吴超"print(name[11:14:2]) # 太金print(name[-4:-6:-1]) # 神女print(name[-7:-12:-2]) # 星白,print(name[::-1]) # 超吴,神女,星金白太,risuw,xela

三、字符串的方法

  • upper() —— 全部大写

    name = "alex"a = name.upper()  # 全部大写print(a)print(name)
  • lower() —— 全部小写

    name = "ALEX"a = name.lower()   # 全部小写print(name)print(a)
  • startswith() —— 以什么开头 -- 返回的是布尔值

  • endswith() —— 以什么结尾 -- 返回的是布尔值

    name = "alex"print(name.startswith('e',2,3))  # 以什么开头 -- 返回的是布尔值print(name.endswith("x",1,4))    # 以什么结尾 -- 返回的是布尔值
  • count() —— 统计,计数

    name = "aliwusirtaibIa"print(name.count("i"))      # 统计,计数 区分大小写
  • strip() —— 脱 默认脱(脱头尾两端的空格,换行符\n,制表符\t)

    pwd = " alexdsb   "a = pwd.strip()   # 脱 默认脱(脱头尾两端的空格,换行符\n,制表符\t)print(a)pwd = "alalexasdsbla"a = pwd.strip("al")  # 去除头尾两端指定的内容,"al"不分顺序print(a)
  • split() —— 分割(默认空格,换行符\n,制表符\t)

    name = "alex_wu_si_r"a = name.split("_")        # 分割(默认空格,换行符\n,制表符\t)print(a)                   # ['alex', 'wusir']a = name.split("_",2)      # 指定分割次数 print(a)
  • replace() —— 全部替换

    name = "alex,wusir,ta,i,b,a,i"a = name.replace(",",".")               # 全部替换print(a)a = name.replace(",",".",4)             # 指定替换的次数print(a)
  • format"{}" —— 按照位置顺序进行填充

    name = "{}今年:{}".format("宝元",18)    # 按照位置顺序进行填充print(name)name = "{1}今年:{0}".format("宝元",18)    # 按照索引进行填充print(name) # 18今年:宝元name = "{name}今年:{age}".format(name="宝元",age=18)    # 按照名字进行填充print(name)
  • isdigit() —— 判断字符串中的内容是否全是阿拉伯数字

  • indecimal() —— 判断是不是十进制数

  • isalnum() —— 判断是不是数字,字母,中文

  • isalpha() —— 判断是不是字母,中文

    msg = "alex"print(msg.isdigit())      # 判断字符串中的内容是不是全都是数字(阿拉伯数字)Falseprint(msg.isdecimal())    # 判断是不是十进制数Falseprint(msg.isalnum())      # 判断是不是数字,字母,中文Tureprint(msg.isalpha())      # 判断是不是字母,中文Ture
  • len() —— 查看字符串中共有多少元素

    msg = "原谅我这一生不羁放纵爱自由"print(len(msg)) # 公用的方法: len

四、for循环

  • for —— 关键字

    i —— 变量名(可随意修改)

    in —— 关键字

    mag —— 可迭代对象(可迭代对象: Python数据类型中 除了int,bool其余都可以迭代)

  • 基本结构:

    msg = "原谅我这一生不羁放纵爱自由"for i in msg:    print(i) # 逐行输出从原到由print(i) # 输出循环体最后一个字符# 面试题for a in "abcds":    pass  # 过  占位print(a) # 输出最后一个元素​for i in "dsb":    i = i+"sb"   # 相当于字符串和字符串相加    print(i)

练习题

name = "aleX leNb"# 移除 name 变量对应的值两边的空格,并输出处理结果print(name.strip())#  判断 name 变量是否以 "al" 开头,并输出结果print(name.startswith("al"))#  判断name变量是否以"Nb"结尾,并输出结果print(name.endswith("Nb"))#  将 name 变量对应的值中的 所有的"l" 替换为 "p",并输出结果print(name.replace("l","p"))#  将name变量对应的值中的第一个"l"替换成"p",并输出结果print(name.replace("l","p",1))#  将 name 变量对应的值根据 所有的"l" 分割,并输出结果。print(name.split("l"))#  将name变量对应的值根据第一个"l"分割,并输出结果。print(name.split("l",1))#  将 name 变量对应的值变大写,并输出结果print(name.upper())#  将 name 变量对应的值变小写,并输出结果print(name.lower())#  判断name变量对应的值字母"l"出现几次,并输出结果print(name.count("l"))#  如果判断name变量对应的值前四位"l"出现几次,并输出结果print(name.count("l",4))#  请输出 name 变量对应的值的第 2 个字符?print(name[2])# 请输出 name 变量对应的值的前 3 个字符?print(name[:3])# 请输出 name 变量对应的值的后 2 个字符?print(name[-2:])-------------------------------------------s = "123a4b5c"# 通过对s切片形成新的字符串s1,s1 = "123"print(s[:3])# 通过对s切片形成新的字符串s2,s2 = "a4b"print(s[3:-2])# 通过对s切片形成新的字符串s3,s3 = "1345"print(s[:-1:2])# 通过对s切片形成字符串s4,s4 = "2ab"print(s[1:-2:2])# 通过对s切片形成字符串s5,s5 = "c"print(s[-1])# 通过对s切片形成字符串s6,s6 = "ba2"print(s[-3::-2])# 3.使用while和for循环分别打印字符串s="asdfer"中每个元素。s = "asdfer"for i in s:    print(i)cou = 0while cou < len(s):    print(s[cou])    cou += 1# 4.使用for循环对s="asdfer"进行循环,但是每次打印的内容都是"asdfer"。s = "asdfer"for i in s:    print(s)# 5.使用for循环对s="abcdefg"进行循环,# 每次打印的内容是每个字符加上sb, 例如:asb, bsb,csb,...gsb。s = "abcdefg"for a in s:    a = a + "sb"    print(a)# 6.使用for循环对s="321"进行循环,# 打印的内容依次是:"倒计时3秒","倒计时2秒","倒计时1秒","出发!"。s = "321"for b in s:    print(f"倒计时{b}秒")print("出发")# 7.实现一个整数加法计算器(两个数相加):#  如:content = input("请输入内容:")#  用户输入:5+9或5+ 9或5 + 9,然后进行分割再进行计算。​content = input("请输入内容:").split("+")i = int(content[0].strip()) + int(content[1].strip())print(i)​# 8.选做题:实现一个整数加法计算器(多个数相加):#  如:content = input("请输入内容:")#  用户输入:5+9+6 +12+ 13,然后进行分割再进行计算。​content = input("请输入内容:").split("+")s = 0for i in content:    i = int(i.strip()) # 每个输入的字符串,去空格,转换成整型    s += iprint(s)​​# 9.计算用户输入的内容中有几个整数(以个位数为单位)。#  如:content = input("请输入内容:") # 如fhdal234slfh98769fjdlaa = 0content = input("请输入内容:").strip()for i in content:    if i.isdecimal():        a += 1print(a)​​# 10.写代码:计算 1 - 2 + 3 ... + 99 中除了88以外所有数的总和?"""num = 0ss = 0while num < 99:    num += 1    if num == 88:        num += 1    ss = ss + numelse:    print(ss-2)"""num1 = 0s1 = 0while num1 < 99:    num1 += 1    if num1 % 2 == 1:        s1 += num1    elif num1 == 88:        continue    else:        s1 -= num1print(s1)​# 11.选做题:写代码,完成下列需求:#  用户可持续输入(用while循环),用户使用的情况:#  输入A,则显示走大路回家,然后在让用户进一步选择:#  是选择公交车,还是步行?#  选择公交车,显示10分钟到家,并退出整个程序。#  选择步行,显示20分钟到家,并退出整个程序。#  输入B,则显示走小路回家,并退出整个程序。#  输入C,则显示绕道回家,然后在让用户进一步选择:#  是选择游戏厅玩会,还是网吧?#  选择游戏厅,则显示 ‘一个半小时到家,爸爸在家,拿棍等你。’并让其重新输入A,B,C选项。#  选择网吧,则显示‘两个小时到家,妈妈已做好了战斗准备。’并让其重新输入A,B,C选项。​f = Truewhile f:    c = input("放学了:A:走大路回家;B:走小路回家;C:绕道回家。").strip().upper()    if c.isalpha() and c in "ABC":        ...    else:        print("输入有误,请重新输入!")        continue    if c == "A":        print("走大路回家")        while True:            d = input("选择公交车,还是步行?").strip()            if d == "公交车" or "公交":                print("10分钟到家")                f = False                break            elif d == "步行" or "buxing":                print("20分钟到家")                f = False                break            else:                print("输入有误,请重新输入")                continue    elif c == "B":        print("走小路回家!")        f = False    else:        print("绕道回家!")        while True:            g = input("游戏厅玩会,还是网吧?").strip()            if g == "游戏厅":                print("一个半小时到家,爸爸在家,拿棍等你")                break            elif g == "网吧":                print("两个小时到家,妈妈已做好了战斗准备")                break            else:                print("输入有误,请重新输入")                continue​​# 12.选做题:判断⼀句话是否是回⽂. 回⽂: 正着念和反着念是⼀样的.# 例如, 上海⾃来⽔来⾃海上​msg = input("请输入回文:")if msg[::1] == msg[::-1]:    print("是回文")else:    print("不是回文")​# 13.制作趣味模板程序需求:等待⽤户输⼊名字、地点、爱好,根据⽤户的名字和爱好进行任意现实# 如:敬爱可亲的xxx,最喜欢在xxx地⽅⼲xxx​name = input('姓名:')paly = input('爱好:')palce = input('喜欢的地方:')mas = f"非常帅气的{name},最喜欢在{palce},{paly}"print(mas)

后续还会持续更新,从入门到放弃  ^.^。

python_0基础开始_day03的更多相关文章

  1. python_0基础学习_day02

    第二节 一,while while也称为无限循环.死循环 while 条件: 缩进 循环体 应用领域:音乐播放:单曲循环,列表循环,随机播放(也是有规律的) 登陆界面:…… 数学计算:1~100的和, ...

  2. python_0基础学习_day01

    Python是一门动态解释型的强类型定义语言 一.变量 变量命名规则 由数字.字母.下划线组成 不能以数字开头 要具有描述性 要区分大小写 禁止使用python的关键字(在pycharm中关键字明明变 ...

  3. python_0基础开始_day07

    第七节 1,基础数据类型补充 str: print(str.capitalize()) —— 首字母大写 print(str.title()) —— 每个单词的首字母大写 print(str.swap ...

  4. python_0基础开始_day06

    第六节 1.小数据池 ==,is,id ==:查看等号两边的值是否一样 a = 9b = 9print(a == b) # 返回Truec = "dog"d = "dog ...

  5. python_0基础开始_day05

    第五节 一.字典 python的数据结构之一 字典 —— dict 定义:dic = {"key":"dajjlad"} 作用:存储数据,大量,将数据和数据起到 ...

  6. python_0基础开始_day04

    第四节 一.列表 list 数据类型之一,存储大量的,不同类型的数据 列表中只要用逗号隔开的就是一个元素 有序可变的. 1.1列表的索引 列表和字符串一样也拥有索引,但是列表可以修改: lst = [ ...

  7. python_0基础开始_day13

    第十三节 一,匿名函数 匿名函数 == 一行函数 lambda == def == 关键字 函数体中存放的是代码 生成器体中存放的也是代码 就是yield导致函数和生成器的结果不统一 lambda x ...

  8. python_0基础开始_day12

    第十二节 一,生成器 生成器的核心:生成器的本质就是迭代器 迭代器是python自带的 生成器是程序员自己写的一种迭代器 在python中有三种方式来创建生成器: 基于函数编写 推导式方式编写 pyt ...

  9. python_0基础开始_day11

    第十一节 一,函数名的第一类对象 函数名当作值,赋值给变量 print(函数名) 查看看书的内存地址 函数名可以当作容器中的元素 lis = []dic = {}def func():    prin ...

随机推荐

  1. IPv6 优于 IPv4 的十大功能

    现在是 9102 年,有一个严重的问题,困扰着资深宅男二狗子.那就是偶像团体没新名了.今年开始,偶像团体 XKB48 已经在无法取更多的新名字了,排列组合的所有方式都已经经过了历史长河的洗礼,除非偶像 ...

  2. ubuntu18.04上搭建KVM虚拟机环境超完整过程

    看标题这是篇纯运维的文章.在中小型企业中,一般很少配置专业的运维人员,都是由开发人员兼着.同时,对有志于技术管理的开发人员来说,多了解一些运维及整个软件生命周期的知识,是很有帮助的,因为带团队不仅仅是 ...

  3. c# override用法

    要扩展或修改继承的方法.属性.索引器或事件的抽象实现或虚实现,必须使用 override 修饰符. 在此例中,类 Square 必须提供 Area 的重写实现,因为 Area 是从抽象的 Shapes ...

  4. c++ 广度优先搜索(宽搜)

    c++ bfs基本应用 Knight Moves 题目描述 贝茜和她的表妹在玩一个简化版的国际象棋.棋盘如图所示: 贝茜和表妹各有一颗棋子.棋子每次移一步,且棋子只能往如图所示的八个方向移动.比赛的规 ...

  5. web文件下载(附方案及源码配置)

    1. 场景描述 因项目需查询数据量比较大(需要查询Hbase等nosql数据库),采用用户点击查询后,后台查询并生成查询文件:然后消息通知用户后,用户点击下载的方式来满足用户需求. 2. 解决方案 W ...

  6. GreenPlum完全安装_GP5.11.3完整安装

    1 概述 1.1 背景 1.2 目标 1.3 使用对象 2 配置系统信息 2.1 配置系统信息,做安装Greenplum的准备工作 Greenplum 数据库版本5.11.3 2.1.1 Greenp ...

  7. 数据结构-循环队列(Python实现)

    今天我们来到了循环队列这一节,之前的文章中,我介绍过了用python自带的列表来实现队列,这是最简单的实现方法. 但是,我们都知道,在列表中删除第一个元素和删除最后一个元素花费的时间代价是不一样的,删 ...

  8. Pygame安装问题

    1.首先使用如下命令: conda install -c https://conda.anaconda.org/quasiben pygame 测试报错: >>> import py ...

  9. 【基本数据结构】并查集-C++

    并查集,在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中.这一类问题近几年来反复出 ...

  10. py+selenium 无法定位ShowModalDialog模态窗口【已解决】

    问题:无法定位弹出的模态窗口. 前瞻: 模态窗口:关闭之前,无法操作其他窗口. 但是selenium无法定位到这类窗口,百度说是目前selenium不支持处理模态窗口. 目标:定位到窗口里面的元素,完 ...