流程控制

条件判断

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

  1. python基础之流程控制(2)

    今天将是基础篇的最后一篇,咱们来补上最后一个内容,流程控制for循环 For 循环 一.为什么有for循环? for循环能做的事情,while循环全都可以实现,但是在某些情境下,for循环相对于whi ...

  2. Python基础之流程控制for循环

    目录 1. 语法 2. for+break 3. for+continue 4. for循环嵌套 1. 语法 while循环可以对任何内容循环,但循环次数不可控 for循环基于容器类型的长度,循环次数 ...

  3. python基础之数据类型之数字、字符串、列表

    数据类型及内置方法 一.数字类型 整数型(int) 1.用途:年龄,号码等 2.定义:age = 10   age = int(10) x = int(’11’)   int只能转换纯数字的字符串 3 ...

  4. python基础之流程控制

    流程控制之----if 流程控制,是指程序在运行时,个别的指令(或者是陈述.子程序)运行或者求值的顺序.人生道路上的岔口有很多,在每个路口都是一个选择,在每个路口加上一个标签,选择哪个就是满足哪个条件 ...

  5. Python基础之流程控制while循环

    目录 1. 语法 2. while+break 3. while+continue 4. while+else 1. 语法 最简单的while循环如下: ''' while <条件>: & ...

  6. python基础:流程控制案例:

    1,简述编译型与解释型的语言,且分别列出你知道的哪些语言属于编译型,哪些属于解释型. 答:简单理解编译型语言类似谷歌翻译,整篇读入整篇翻译,代表语言有C语言,解释型语言类似同   声传译,读入一行翻译 ...

  7. python基础之流程控制(1)

    一.分支结构:if 判断 1.什么要有if 判断语句? 让计算机可以像人一样根据条件进行判断,并根据判断结果执行相应的流程. 2.基本结构 单分支结构 # 单分支 if 条件1: 代码1 代码2 代码 ...

  8. python基础之流程控制(if判断和while、for循环)

    程序执行有三种方式:顺序执行.选择执行.循环执行 一.if条件判断 1.语句 (1)简单的 if 语句 (2)if-else 语句 (3)if-elif-else 结构 (4)使用多个 elif 代码 ...

  9. Python基础之流程控制if判断

    目录 1. 语法 1.1 if语句 1.2 if...else 1.3 if...elif...else 2. if的嵌套 3. if...else语句的练习 1. 语法 1.1 if语句 最简单的i ...

随机推荐

  1. sass文件转css时注释虽然支持中文,但是出现乱码的解决方法

    sass文件转css时注释虽然支持中文,但是出现乱码的解决方法 Scss 注释中文报错问题(windows系统, 已解决)找到ruby的安装目录,里面也有sass模块,类似这样样的路径:F:\Prog ...

  2. 使用UserLock如何实现工作站登陆访问限制

    UserLock允许用户限制受保护账户可登陆的工作站/终端.工作站/终端限制可以通过设置或者使用特定的IP范围,计算机名/IP或组织单位实现. 对于每个工作站限制你需要指定所要限制的会话类型(默认情况 ...

  3. C#设计模式--工厂模式(创建型模式)

    一.简单工厂模式(UML类图): 核心类代码: public class Calc { public double NumberA { get; set; } public double Number ...

  4. php的yii框架开发总结2

    开发流程:1.用yii创建网站目录,当时用命令行创建时遇到了问题,试了很久才找到原因:我的原因是在yii/framework/yiic.bat这个文件中的一条语句: if "%PHP_COM ...

  5. Apache common-io AutoCloseInputStream 分析

    Apache common-io 包是常用的工具包,他提供了对IO操作的一些封装.首先看一下input包下的 AutoCloseInputStream 类 1: * This class is typ ...

  6. 377. Combination Sum IV 70. Climbing Stairs

    back function (return number) remember the structure class Solution { int res = 0; //List<List< ...

  7. EF写distinct

    在日常开发中常常是这么写的 var logErrorRequest = from l in _logErrorRepository.Table select new { WrongTime = l.W ...

  8. 【BZOJ1067】[SCOI2007] 降雨量(RMQ+分类讨论)

    点此看题面 大致题意:请你判断"\(x\)年是自\(y\)年以来降雨量最多的"这句话的真假. 离散化/\(lower\_bound\) 首先,考虑到年份的范围非常大,便可以离散化. ...

  9. 配置SSIS 包部署

    包配置是干嘛滴! 使用包配置可以从开发环境的外部设置运行时属性和变量.         把用户变量转换成Config文件 步骤: 准备工作 把第一个例子中的userinfo.txt复制两份,放到同一个 ...

  10. hihoCoder 网络流四·最小路径覆盖

    题面带解释 hihoCoder感觉很好. 网络流的精华就是建图 #include<cstdio> #include<iostream> #include<algorith ...