流程控制

条件判断

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. Android 设置软键盘搜索键以及监听搜索键点击事件

    如图所示,有时候为了布局美观,在搜索时没有搜索按钮,而是调用软件盘上的按钮.调用的实现只需要在XML在输入框中加入android:imeOptions="actionSearch" ...

  2. python类的反射

    反射 通过字符串映射或者修改程序运行时的状态.属性.方法, 有一下4个方法 小例子--根据用户输入调用方法: class Dog(object): def __init__(self,name): s ...

  3. JS兼用IE8的通过class名获取CSS对象组

    转自:Garon_InE 原生js方法“document.getElementsByClassName”在ie8及其以下浏览器中不能使用,所以写了一个兼容IE的方法. 完整的页面代码如下: testJ ...

  4. python数组列表、字典、拷贝、字符串

    python中字符串方法 name = "I teased at life as if it were a foolish game" print(name.capitalize( ...

  5. excel跨表查询数据

    环境:公司部分部门进行商品盘点,店铺经理要求不经过系统进行盘点,全程采用excel表格处理所示:            左图为总表,右图为首饰部门录入的数据 需求:找出盘点差异(即首饰部商品数量是否和 ...

  6. 深入了解MongoDB

    一.介绍: 数据库分为关系型数据库和非关系型数据库 关系型数据库是建立在关系模型上的数据库,主要的有Oracle MySQL Microsoft SQL Server NoSQL是非关系型数据存储的广 ...

  7. CSS:响应式下的折叠菜单(条纹式)

    原文:CSS: Responsive Navigation Menu 译文:CSS:响应式导航菜单 译者:dwqs 写在之前,关于如何制作响应式的下拉菜单:响应式下的下拉菜单 之前,我写了一篇关于怎么 ...

  8. 【LOJ116】有源汇有上下界最大流(模板题)

    点此看题面 大致题意: 给你每条边的流量上下界,让你先判断是否存在可行流.若存在,则输出最大流. 无源汇上下界可行流 在做此题之前,最好先去看看这道题目:[LOJ115]无源汇有上下界可行流. 大致思 ...

  9. 计算多项式Poj(1996)

    题目链接:http://poj.org/problem?id=1996 思路: 刚开始打了个二维表,调了一个小时,爆内存了. #include <stdio.h> #include < ...

  10. jQuery实现轮播切换以及将其封装成插件(1)

    我们在网上经常会看到一些轮播切换的效果.轮播切换,就是在一个有限的空间中定时的像走马灯一样去播放一组图片,当然也可以通过鼠标悬停在小按钮上来切换显示.下面我们将一步一步的实现这一效果. 为保证效果,请 ...