流程控制

条件判断

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-流程控制、数字和字符串处理的更多相关文章

  1. Python 入门基础3 --流程控制

    今日目录: 一.流程控制 1. if 2. while 3. for 4. 后期补充内容 一.流程控制--if 1.if判断: # if判断 age = 21 weight = 50 if age & ...

  2. Python开发——2.基本数据类型之数字和字符串

    一.基本数据类型 基本数据类型包括:数字(int).字符串(str).列表(list).元祖(tuple).字典(dict).布尔值(bool). 查看输出数据的类型 a = "123&qu ...

  3. Python分支结构与流程控制

    Python分支结构与流程控制 分支结构 if 语句 分支结构在任何编程语言中都是至关重要的一环,它最主要的目的是让计算机拥有像人一样的思想,能在不同的情况下做出不同的应对方案,所以if语句不管是在什 ...

  4. Java基础-程序流程控制第一弹(分支结构/选择结构)

    Java基础-程序流程控制第一弹(分支结构/选择结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.if语句 1>.if语句的第一种格式 if(条件表达式){ 语句体: ...

  5. python语法入门之流程控制

    python语法入门之流程控制 流程控制是指控制流程,具体指控制程序执行的流程. 流程控制分为三种: 1.顺序结构 程序从上而下的正常执行(正常执行的代码就是顺序结构) 2.分支结构 赋予程序人的思维 ...

  6. Python第四天 流程控制 if else条件判断 for循环 while循环

    Python第四天   流程控制   if else条件判断   for循环 while循环 目录 Pycharm使用技巧(转载) Python第一天  安装  shell  文件 Python第二天 ...

  7. Go语言基础之流程控制

    Go语言基础之流程控制 流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”. Go语言中最常用额流程控制有if和for,而switch和goto主要是为了简化代 ...

  8. Java基础-程序流程控制第二弹(循环结构)

    Java基础-程序流程控制第二弹(循环结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 流程控制有三种基本结构:顺序结构,选择结构和循环结构.一个脚本就是顺序结构执行的,选择结 ...

  9. Python开发基础之Python常用的数据类型

    一.Python介绍 Python是一种动态解释型的编程语言.Python它简单易学.功能强大.支持面向对象.函数式编程,可以在Windows.Linux等多种操作系统上使用,同时Python可以在J ...

随机推荐

  1. Item 9 覆盖equals时总要覆盖hashCode

    为什么覆盖equals时,总要覆盖hashCode?   原因是,根据Object规范: 如果两个对象根据equals(Object)方法比较是相等的,那么调用这两个对象中任意一个对象的hashCod ...

  2. Item 8 覆盖equals时请遵守通用约定

    在覆盖equals方法的时候,你必须要遵守它的通用约定,不遵守,写出来的方法,会出现逻辑错误.下面是约定的内容:   equals方法实现了等价关系:   自反性.对于任何非null的引用值,x.eq ...

  3. 【NOIP】2013提高组 花匠(摆花)

    [算法]DP||贪心 [题解] (1)动态规划: 令f[i][0..1]为两种条件下前i株花的最大保留数量,状态转移方程: f[i][0]=max(f[j][1]+1) (j=i-1...1)(h[i ...

  4. HDU 2553 N皇后问题 (深搜)

    题目链接 Problem Description 在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上. 你的任务是,对 ...

  5. mysql 复制表结构 / 从结果中导入数据到新表

    这只会复制结构: mysql> create table a like mysql1; Query OK, 0 rows affected (0.03 sec) mysql> desc a ...

  6. 去掉每行的特定字符py脚本

    百度下载一个脚本的时候遇到那么一个情况.每行的开头多了一个空格.https://www.0dayhack.com/post-104.html 一个个删就不要说了,很烦.于是就有了下面这个脚本. #! ...

  7. java===java基础学习(9)---方法参数

    方法参数注意三要点: 一个方法不能修改一个基本数据类型的参数(数值型或者布尔型). 一个方法可以改变一个对象参数的状态. 一个方法不能让对象参数引用一个新的对象. package testbotoo; ...

  8. iOS WKWebView ios9以上版本配置 与 设置UserAgent(用户代理), 解决点击web, 客户端接收不到web事件问题

    项目运行在ios9上需要在info.plist文件中配置加入如下信息, App Transport Security Settings Allow Arbitrary Loads = YES < ...

  9. 如何掌握jQuery插件开发(高能)

    在实际开发工作中,总会碰到像滚动,分页,日历等展示效果的业务需求,对于接触过jQuery以及熟悉jQuery使用的人来说,首先想到的肯定是寻找现有的jQuery插件来满足相应的展示需求.目前页面中常用 ...

  10. datatables的学习总结

    $(document).ready(function() { var oTable= $('#dataTables-example').DataTable({ // searching : false ...