Python开发基础-Day2-流程控制、数字和字符串处理
流程控制
条件判断
if单分支:当一个“条件”成立时执行相应的操作。
语法结构:
if 条件:
command
流程图:

示例:如果3大于2,那么输出字符串"very good"
#!/usr/bin/env python
# -*- coding: utf-8 -*-
if 3 > 2:
print("very good")
if双分支:当“条件成立”时候执行一个操作,或者“条件不成立”执行另外一个操作操作。
语法结构:
if 条件:
command1
else:
command2
流程图:

示例:输入一个数,如果输入的是5,那么输出you are right,输入其他数,输出you are wrong
#!/usr/bin/env python
# -*- coding: utf-8 -*-
num=input('please input a number:')
if num == 5:
print('you are right')
else:
print('you are wrong')
if多分支:相当于if语句嵌套,针对多个条件执行不同操作。
语法结构:
if 条件:
command1
elif 条件:
command2
... #可存在多个elif判断
command...
else:
commandn
流程图:

示例:输入一个数字,如果在0-9范围内,将该数字转成二进制输出,如果在10到19范围内,将该数字转成8进制输出,在20或者更大,那么转换成16进制输出
#!/usr/bin/env python
# -*- coding: utf-8 -*-
num=int(input('please input a number:')) #input输入为str字符串格式用int转化成整数
if num in range(10): #range()方法是一个范围,for循环详细说明
print(bin(num)) #bin()方法,转化为二进制
elif num in range(10,20):
print(oct(num)) #oct()方法,转化为八进制
else:
print(hex(num)) #hex()方法,转化为十六进制
循环
for循环:根据标量的不同取值,重复执行一组命令操作。
语法结构:
for 变量 in 集合:
command
流程图:

示例1:依次输出数字0到10
for i in range(11):
print(i)
range(11)表示一个范围,从头到尾依次是0,1,2,3,4,5,6,7,8,9,10,共十一个数字,这个范围顾头不顾尾,即不包括最大的那个数
示例2:依次输出数字5到10
for i in range(5,11):
print(i)
range(5,11),表示开头为5,结束为11的一个范围,包括5但不包括11
示例3:0到10数字范围,每隔一个数输出一个数
for i in range(0,11,2):
print(i)
输出结果为:0,2,4,6,8,10,range()方法的第三个数表示步数,也就是间隔的值
补充:for+else
else内的指令只在for循环结束后执行,并且该循环没有被break或continue打断
for i in range(0,11,2):
print(i)
else:
print('ok') 输出结果:
0
2
4
6
8
10
ok
条件循环
while条件循环:重复测试指令的条件,只要条件为真则反复执行对应的命令操作,直到条件为假。如果使用true作为循环条件能够产生无限循环。
语法结构:
while 条件 :
command
流程图:

示例:打印0到100的所有的奇数
i=1
while i <=100 :
print(i)
i = i + 2
补充:while+else
表示while在正常循环结束后才能执行else,即循环过程中没有被break和continue打断,完全循环后才能执行else的指令
示例:
i=1
while i <=5 :
print(i)
i = i + 2
else:
print('ok') 输出结果:
1
3
5
ok
数字
数字类型包括:整型和浮点型(即整数和小数),布尔值,复数
数字特性:
1、只能存放一个值,不论这个数字有多长
2、一经定义,不可更改,因为数字是不可变的(如果不理解,看过后边的数组tuple后就理解了)
3、通过变量直接访问
整型
整型可以用十进制、二进制、八进制和十六进制表示,如十进制的10、二进制的1010、八进制的12和十六进制的a都表示是整数10
print(10)
print(bin(10)) #10的十进制转换二进制
print(oct(10)) #10的十进制转换八进制
print(hex(10)) #10的十进制转换十六进制,0-9和abcdef 输出为:
10
0b1010 #0b表示二进制
0o12 #0o表示八进制
0xa #0x表示16进制
整型在python2里是有长度限制的,分为整型和长整型,在python3里没有长度限制,所以数字再长都可以叫做整型,当然可以通过长整型方法将整型编程长整型,长整型的数字最后有一个L标识。
其他常用方法(简略):
int() 转化为整型
abs() 求绝对值
float() 转换层浮点型
浮点型
即小数,如1.2,0.3等
浮点数科学计数法:
print(1.3e-3) #1.3的10的-3次方、e3表示10的3次方
布尔值
True用1表示
False用0表示
字符串
字符串
字符串是一个有序的字符的集合,用于存储和表示基本的文件信息
字符串特性:
1、只能存放一个值
2、不可变
3、按照从左到右的顺序定义字符集和,索引从0开始有序访问
定义方法:字符串定义,四种引号都是定义字符串
a='xyz'
b="xyz"
c='''xyz'''
d="""xyz"""
字符串处理
移除空白:把字符串的前后指定的字符位置移除,中间的无法移除
s1='abc '
s2='**********abc*******'
s3='**********a**bc*******'
print(s1.strip(' '))
print(s2.strip('*'))
print(s3.strip('*'))
输出结果:
abc
abc
a**bc
分割:指定字符为分隔符,将字符串转换成list
s1='abc|def|ghi'
print(s1.split('|'))
输出结果:
['abc', 'def', 'ghi']
长度:统计字符串长度,包括空格和符号
s1='abc '
s2='**********abc*******'
s3='**********a**bc*******'
print(len(s1))
print(len(s2))
print(len(s3))
输出结果:
16
20
22
索引:表示字符的位置,从0开始计数
s1='abc '
s2='**********abc*******'
s3='**********a**bc*******'
print(s1[2]) #0位置为a,1位置为b,2位置为c
print(s2[11])
print(s3[-8]) #-8位置为从后开始数第8个字符,从后计数的第一个字符位置为-1位置
输出结果:
c
b
c
切片:根据索引位置匹配需要的字符串片段
s1='abcdefghi'
print(s1[2:5]) #2,3,4位置
print(s1[2:8:2]) #匹配2,4,6位置,第二个2表示步数,每隔一个匹配一个
print(s1[-5:-3]) #倒序-5,-4位置
输出结果:
cde
ceg
ef
其他常用方法:
首字母大写
s1='abc def abc'
print(s1.capitalize())
输出结果:
Abc def abc
统计某个字符的数量,空格也算字符
s1='abc def abc'
print(s1.count('a'))
print(s1.count('a',0,4)) #表示0-4位置,不包括4位置
输出结果:
2 #整个字符串有两个a
1 #0,1,2,3位置有一个a
检验开头和结尾字符串
s1='abc def abc'
print(s1.endswith('c'))
print(s1.startswith('a'))
输出结果:
True
True
查找字符串内是否包含该字符
s1='abc def abc'
print(s1.find('b'))
print(s1.find('d'))
输出结果:
1 #输出的是匹配的第一个字符的索引位置
4
格式化字符串
msg1='Name:{},age:{},sex:{}'
print(msg1)
print(msg1.format('egon',18,'male'))
msg2='Name:{0},age:{1},sex:{0}'
print(msg2.format('aaaaaaaaaaaaaaaaa','bbbbbbbbbbbbbb'))
msg3='Name:{x},age:{y},sex:{z}'
print(msg3.format(y=18,x='egon',z='male'))
输出结果:
Name:{},age:{},sex:{}
Name:egon,age:18,sex:male
Name:aaaaaaaaaaaaaaaaa,age:bbbbbbbbbbbbbb,sex:aaaaaaaaaaaaaaaaa
Name:egon,age:18,sex:male
索引(查看索引位置)
s1='abc def abc'
print(s1.index('a')) #匹配第一个a的索引位置
print(s1[s1.index('e')]) #调用用索引位置
校验字符串是否为纯数字
s1=''
print(s1.isdigit())
输出结果:
True
替换
msg='hello alex' #赋值时候实际上是msg=str('hello alex'),replace()方法是str所赋予的,即str.replace()
print(msg.replace('x','X'))
print(msg.replace('alex','bob'))
print(msg.replace('l','A'))
print(msg.replace('l','A',1))
print(msg.replace('l','A',2)) #第二个数字为替换的次数
输出结果:
hello aleX
hello bob
heAAo aAex
heAlo alex
heAAo alex
大写转换
x='hello'
print(x.upper())
输出结果:
HELLO
检验是否是全大写
x='HELLO'
print(x.isupper())
输出结果:
True
小写转换和检验
x='HELLO'
print(x.lower())
print(x.islower())
输出结果:
hello
False
校验是不是空格
x=' ' #空格不等于空
print(x.isspace())
输出结果:
True
开头大写
x='hello'
print(x.title())
输出结果:
Hello
校验开头是否为大写
msg='Hello'
print(msg.istitle())
输出结果:
True
左对齐和右对齐:数字表示对齐后的长度,后边的星号为长度不够用星号补齐
x='abc'
print(x.ljust(10,'*'))
print(x.rjust(10,'*'))
输出结果:
abc*******
*******abc
大小写交换
x='Ab'
print(x.swapcase())
输出结果:
aB
Python开发基础-Day2-流程控制、数字和字符串处理的更多相关文章
- Python 入门基础3 --流程控制
今日目录: 一.流程控制 1. if 2. while 3. for 4. 后期补充内容 一.流程控制--if 1.if判断: # if判断 age = 21 weight = 50 if age & ...
- Python开发——2.基本数据类型之数字和字符串
一.基本数据类型 基本数据类型包括:数字(int).字符串(str).列表(list).元祖(tuple).字典(dict).布尔值(bool). 查看输出数据的类型 a = "123&qu ...
- Python分支结构与流程控制
Python分支结构与流程控制 分支结构 if 语句 分支结构在任何编程语言中都是至关重要的一环,它最主要的目的是让计算机拥有像人一样的思想,能在不同的情况下做出不同的应对方案,所以if语句不管是在什 ...
- Java基础-程序流程控制第一弹(分支结构/选择结构)
Java基础-程序流程控制第一弹(分支结构/选择结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.if语句 1>.if语句的第一种格式 if(条件表达式){ 语句体: ...
- python语法入门之流程控制
python语法入门之流程控制 流程控制是指控制流程,具体指控制程序执行的流程. 流程控制分为三种: 1.顺序结构 程序从上而下的正常执行(正常执行的代码就是顺序结构) 2.分支结构 赋予程序人的思维 ...
- Python第四天 流程控制 if else条件判断 for循环 while循环
Python第四天 流程控制 if else条件判断 for循环 while循环 目录 Pycharm使用技巧(转载) Python第一天 安装 shell 文件 Python第二天 ...
- Go语言基础之流程控制
Go语言基础之流程控制 流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”. Go语言中最常用额流程控制有if和for,而switch和goto主要是为了简化代 ...
- Java基础-程序流程控制第二弹(循环结构)
Java基础-程序流程控制第二弹(循环结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 流程控制有三种基本结构:顺序结构,选择结构和循环结构.一个脚本就是顺序结构执行的,选择结 ...
- Python开发基础之Python常用的数据类型
一.Python介绍 Python是一种动态解释型的编程语言.Python它简单易学.功能强大.支持面向对象.函数式编程,可以在Windows.Linux等多种操作系统上使用,同时Python可以在J ...
随机推荐
- Item 9 覆盖equals时总要覆盖hashCode
为什么覆盖equals时,总要覆盖hashCode? 原因是,根据Object规范: 如果两个对象根据equals(Object)方法比较是相等的,那么调用这两个对象中任意一个对象的hashCod ...
- Item 8 覆盖equals时请遵守通用约定
在覆盖equals方法的时候,你必须要遵守它的通用约定,不遵守,写出来的方法,会出现逻辑错误.下面是约定的内容: equals方法实现了等价关系: 自反性.对于任何非null的引用值,x.eq ...
- 【NOIP】2013提高组 花匠(摆花)
[算法]DP||贪心 [题解] (1)动态规划: 令f[i][0..1]为两种条件下前i株花的最大保留数量,状态转移方程: f[i][0]=max(f[j][1]+1) (j=i-1...1)(h[i ...
- HDU 2553 N皇后问题 (深搜)
题目链接 Problem Description 在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上. 你的任务是,对 ...
- mysql 复制表结构 / 从结果中导入数据到新表
这只会复制结构: mysql> create table a like mysql1; Query OK, 0 rows affected (0.03 sec) mysql> desc a ...
- 去掉每行的特定字符py脚本
百度下载一个脚本的时候遇到那么一个情况.每行的开头多了一个空格.https://www.0dayhack.com/post-104.html 一个个删就不要说了,很烦.于是就有了下面这个脚本. #! ...
- java===java基础学习(9)---方法参数
方法参数注意三要点: 一个方法不能修改一个基本数据类型的参数(数值型或者布尔型). 一个方法可以改变一个对象参数的状态. 一个方法不能让对象参数引用一个新的对象. package testbotoo; ...
- iOS WKWebView ios9以上版本配置 与 设置UserAgent(用户代理), 解决点击web, 客户端接收不到web事件问题
项目运行在ios9上需要在info.plist文件中配置加入如下信息, App Transport Security Settings Allow Arbitrary Loads = YES < ...
- 如何掌握jQuery插件开发(高能)
在实际开发工作中,总会碰到像滚动,分页,日历等展示效果的业务需求,对于接触过jQuery以及熟悉jQuery使用的人来说,首先想到的肯定是寻找现有的jQuery插件来满足相应的展示需求.目前页面中常用 ...
- datatables的学习总结
$(document).ready(function() { var oTable= $('#dataTables-example').DataTable({ // searching : false ...