流程控制

条件判断

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. 【BZOJ4870】组合数问题 [矩阵乘法][DP]

    组合数问题 Time Limit: 10 Sec  Memory Limit: 512 MB[Submit][Status][Discuss] Description Input 第一行有四个整数 n ...

  2. UIToolBar的半透明属性设置

      UIToolBar的半透明属性设置style:Translucent(Ps:长得很像翻译translation)   https://www.evernote.com/shard/s227/sh/ ...

  3. quick-cocos2dx 悬浮节点(NotificationNode)

    cocos2dx 开发游戏时,有时某些节点不需要随着场景的切换而销毁.但cocos2dx的机制只允许同时只有一个运行的场景,如果你的所有节点都是依附于这个场景的,那场景的切换必然带来节点的销毁. 比如 ...

  4. 2、MySQL常见数据库引擎及比较?

    MySQL存储引擎简介 MySQL支持数个存储引擎作为对不同表的类型的处理器.MySQL存储引擎包括处理事务安全表的引擎和处理非事务安全表的引擎: MyISAM管理非事务表.它提供高速存储和检索,以及 ...

  5. linux pthread【转】

    转自:http://www.cnblogs.com/alanhu/articles/4748943.html Posix线程编程指南(1) 内容:  一. 线程创建  二.线程取消 关于作者  线程创 ...

  6. Yii 1.1.17 五、分页类、关联模型、权限验证与默认页面跳转

    一.分页类使用 1.在控制器中 // 实例化 $criteria = new CDbCriteria(); $articleModel = Article::model(); // 分页 $total ...

  7. C基础入门 - 第一章 - C语言绪言

    第1章 C语言绪言 1.1 C语言概述 1.1.1 C语言世界 1.1.2 C语言学习, 能当饭吃吗 1.2 开发环境构建 1.2.1 visual studio安装使用 1.2.2 visual s ...

  8. 【LabVIEW技巧】代码块快速放置

    前言 之前的文章中介绍了如何使用QuickDrop来实现快速代码放置,今天我们来详细的聊一下如何进行代码块的快速放置. 正文 LabVIWE程序设计中,我们在架构层级总是进行重复性的编写.举一个例子: ...

  9. FineReport——插入行策略

    1.空值是默认的选项,即每次插入新行时,格子都是空白的. 2.原值即单元格中原有内容是什么,就复制到新增的格子中,一般适用于单元格是使用公式定义的, 在插入单元格时,公式会保留下来. 3.默认值即通过 ...

  10. JQUERY 提取多个元素 a img 的 src href

    <div class="abc"><a href="1.html"><img src="1.jpg"/> ...