Python成长之路第一篇(4)_if,for,while条件语句

有了以上的基本基础,已经上面写的几个小练习,大家肯定有很多的不满,比如查询为什么查询一次就退出了呢?下面我们来学习条件语句

一、万恶的加号

以前我们在print的时候如果要加上变量都有是使用+来作为连接,但是这样做是不好的

因为在使用加号的时候,会在内存中开辟新的内存地址来存放新的内容这样做的坏处就是增加了内存的消耗

那么我们该怎么办呢?

(1)字符串格式化

①内置占位符

Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。

类如上述例子我们换种写法:

>>> a = "abc"      
>>> print ("sssss%s" %(a))      
sssssabc

我们主要到这里多了一个%s这里的%s我们称之为占位符,针对数据类型的不同我们有很多占位符

②自定义占位符format函数

aa = "dsadsa{ss}" 
print(aa.format(ss=‘ccccc‘))

dsadsaccccc

在print中的ss=‘ccccc’可以替换成变量这样就不用考虑数据的类型了

二、两个变量的值的替换

在一些算法中我们需要用到将变量的值进行替换

方法1:

>>> a = 1
>>> b = 2

>>> c = a
>>> a = b
>>> b = c

>>> print (a,b)
2 1

这样我们使用另外一个变量,来暂时中转a的值这样我们多出了一个变量看起来不高端那么还有别的方法么?

方法2:

>>> a = 1
>>> b = 2
>>> print(a,b)
1 2
>>> a,b = b,a
>>> print (a,b)
2 1

是不是很好玩

三、布尔表达式

布尔表达式就是判断真假,也就是True和False,计算机的机器代码由1和0来表示所以,1表示有也表示真,0表示无也表示假。

我们来看下面的例子:

从下面的例子可以看出1等于True真的时候返回值是True真也就是对的,当0等于True的时候返回值是假也就是错的,当0等于假的时候返回值是True也就是正确。

>>> 1 == True
True
>>> 0 == True
False
>>> 0 == False
True

例2:下面的例子也可以知道,当值为空的时候,布尔表达式认成为假

>>> bool(‘‘)
False
>>> bool(‘a‘)
True

四、if语句

(1)python中的if语句跟其他语言一样也是做逻辑判断用的,比如我们要实现这么一个

需求(1):

如果用户输入的值为a则输出欢迎,否则输出翻滚吧xxx

inpot = input("请输入名称:")

if inpot == "a" :
    print(‘欢迎您:%s‘%(inpot))
else:
    print(‘翻滚吧:%s‘%(inpot))


需求(2):

如果用户输入的值为a则输出欢迎,如果用户输入的值为b则输出欢迎主任视察,否则输出翻滚吧xxx

inpot = input("请输入名称:")

if inpot == "a" :
    print(‘欢迎您:%s‘%(inpot))
elif inpot == "b":
    print(‘欢迎主任[%s]视察‘%(inpot))
else:
    print(‘翻滚吧:%s‘%(inpot))

从上面的两个例子可以看出,python没有shell脚本中的case,而变成了if中的elif,在if语句中我们可以只使用if,而不用else。

五、while循环

为什么会存在while循环呢,因为我们需要做一些重复的事情,比如我们要打印 1-100安装常理我们不就需要print 1 print 2 。。。。。print100非常的浪费代码所以呢我们可以这么干

(1)while循环-计数器

x = 1  #先设置一个变量的值为1
while x <= 100: #当x的值小于等于100时运行下面的代码
    print(x)    #打印x的值
    x = x+1     #每次循环x都加1 ,第一次循环就是 x(1)+1= 2 第二次就是x(2)+1=3以此类推

这样的语句方式称之为计数器

(2)while死循环

我们知道布尔表达式中的真,这里我们可以跟while结合变成一个死循环,那么死循环不是一直都在运行的么,

那怎么办,python提供break可以退出当前循环,我们结合之前的练习来试一下

练习1:

需求:写一个输入员工姓名就可以查询到员工的电话和编号的程序,要求可以持续查询,除非用户输入退出的命令则结束

python3.5环境

#!/usr/bin/env python
# -*- coding:utf-8 -*-

address = {
    ‘a‘:{
       ‘number‘:‘01‘,
       ‘phone‘:‘110‘
    },
    ‘b‘:{
       ‘number‘:‘02‘,
       ‘phone‘:‘119‘
    },
    ‘c‘:{
       ‘number‘:‘03‘,
       ‘phone‘:‘120‘
    }
}
while True:
    inpu = input("请输入查询的用户名:")
    if inpu in address.keys():         #address.keys()表示获取字典的所有key(键)
        print("当前用户:%s"%(inpu))
        print(‘用户编号是:%s‘%(address[inpu][‘number‘]))
        print(‘用户电话是:%s‘%(address[inpu][‘phone‘]))
    elif inpu == "exit" :
        print(‘谢谢使用再见‘)
        break
    else:
        print("您输入的用户[%s]不存在"%(inpu))


六、for循环

(1)初识for循环

while语句非常的灵活,但是有些特定条件while循环使用起来非常复杂,比如说有一个列表,想要分别打印列表中的内容,用while也可以实现,但是就没有for循环那么简单了,

我们来对比一下我们有一个列表 a = [‘a‘,‘b‘,‘c‘,‘d‘]我们分别用while和for来打印出列表中的每个元素

while:

a = [‘a‘,‘b‘,‘c‘,‘d‘]
x = 0
while x < len(a):  #len(a)的值为4,那么列表a的索引是从0-3的所以这里是x小于len(a)
    print(a[x])
    x = x+1

for:

a = [‘a‘,‘b‘,‘c‘,‘d‘]
for i in a:
    print(i)

对比之后呢至少for循环少了两行代码

for循环代码中的  for i in a:表示i从头到a序列中取值,所以第一次循环 i = a第二次 i = b以此类推

(2)range函数

还记得while循环打印1-100么,这里我们可以使用for加range函数来实现:

for i in range(1,101):  #为什么这里写1-101,因为range函数的特性,如果是1-100他就会生成1-99
    print(i)            #所以这里是1-101

range函数的工作方式类似于分片

(3)for循环字典

注:字典元素的顺序没有定义的,也就是说当你for循环出来的字典的键值对是没有顺序的

方法1:

a = {
    "a":"aa",
    "b":"bb",
    "c":"cc"
}
for key in a:
    print (‘欢迎【%s】,您的信息是(%s)‘%(key,a[key]))

方法2:

a = {
    "a":"aa",
    "b":"bb",
    "c":"cc"
}
for key,value in a.items():
    print (‘欢迎【%s】,您的信息是(%s)‘%(key,value))

结果

第二种发放使用到了items函数,也就是把字典a转换成了([(‘b‘, ‘bb‘), (‘a‘, ‘aa‘), (‘c‘, ‘cc‘)])这种结构在分别赋值给key和value

七、跳出循环

(1)break,之前介绍过的跳出当前循环

(2)contiune一般用于if语句,也就是说进入当前的判断后没必要继续判断下去就可以使用它

例子:

for i in range(1,6):
    if i == 3 :
        print(‘ok‘)  
        continue    #当i等于3时,输出ok并且结束此次判断也就是不执行else了
    else:
        print(i)

结果:

(3)pass

跟英文的意思一样过掉,什么都不做

for i in range(1,6):
    if i == 3 :
        print(‘ok‘)
        continue
    elif i == 4 :
        pass
    else:
        print(i)

结果

八、运算

python中有非常多的运算这里推荐网站:http://www.runoob.com/python/python-operators.html

Python算术运算符

Python比较运算符

Python赋值运算符

Python位运算符

Python逻辑运算符

Python成员运算符

Python身份运算符

Python运算符优先级

时间: 2024-08-02 06:57:27

Python成长之路第一篇(4)_if,for,while条件语句的相关文章

Python成长之路 第一篇 《Python基础》

1.python文件命名 - 后缀名可以是任意的,但为规范便于识别,后缀名应为 .py 2.两种执行方式    python解释器   py文件路径     python   进入解释器: 实时输入并获取到执行结果 3.解释器路径 在Linux系统中应添加  #!/user/bin/env python    , windows系统中可不添加 4.编码 # -*- coding:utf8 -*-  (在python3中可不加,python只要出现中文头部必须加) ascill  只能编译英文 u

Python成长之路第一篇(1)__字符串初识

在很多编程的书中都会以print  "Hello,world!"这样的而一个程序为开始,那么hello,world是什么呢?这就是本章讲解的字符串(也即是一串字符) 一.单引号,双引号和转义引号 (1)在一般的时候 'Hello,world!'和"Hello,world!"是没有什么区别的,那么为什么会两个都可以用呢?是因为在某些情况下,他们会排上用处 1 >>> "Hellow,world" 2 'Hellow,world' 

python成长之路第一篇(5)文件的基本操作

一.三元运算 我们在上章学习的if,,else,,有一种简便的方法 他的表达式是这样的:变量 = 值1 if 条件 else 值2 解释过来就是如果aaa等于sss则输出值1否则输出值2 二.类的概念 类是面向对象编程的核心, 它扮演相关数据及逻辑的容器角色.它们提供了创建"真实"        对象(也就是实例)的蓝图.对于Python,一切事物都是对象,对象基于类创建. 如何查询对象的类呢? 为啥分为有下划线和没下划线的呢,这些又是什么呢?本例中以查看的是列表的类,那么这个类下面就

Python成长之路第一篇(2)-初识列表和元组

可以将列表和元组当成普通的"数组",他能保存任意数量任意类型的Python对象,和数组一样都是通过数字0索引访问元素,列表和元组可以存储不同类型的对象,列表和元组有几处重要区别.列表元素用([])包括,元素的个数和值可以改变,而元组用({})包括,不能更改.元组可以看成是只读的列表 一.初识列表 1.下面是一个正常的列表 >>> lis = ['xiaoyuan',25] 在序列中,可以包含其他的序列,也就是列表可以包含列表元组等 >>> lis =

我的Python成长之路---第一天---Python基础(1)---2015年12月26日(雾霾)

2015年12月26日是个特别的日子,我的Python成之路迈出第一步.见到了心目中的Python大神(Alex),也认识到了新的志向相投的伙伴,非常开心. 尽管之前看过一些Python的视频.书,算是有一点基础.但在这里我要保持空杯心态,一切从头开始.好了不多说,Let's Python!!!! 一.Python简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言.目前Python已经成为实际上除了中国最流行的开发语

Python成长之路第二篇(1)_数据类型内置函数用法

数据类型内置函数用法int 关于内置方法是非常的多这里呢做了一下总结 (1)__abs__(...)返回x的绝对值 #返回x的绝对值!!!都是双下划线 x.__abs__() <==> abs(x) 例如: #!/usr/bin/python print "abs(-45) : ", abs(-45) print "abs(100.12) : ", abs(100.12) print "abs(119L) : ", abs(119L)

我的Python成长之路---第一天---Python基础(2)---2015年12月26日(雾霾)

三.数据类型 Python基本类型(能够直接处理的数据类型有以下几种)主要有5种 1.整数(int) Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等. 2.浮点数(float) 浮点数也就是数学中的小数.由于整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的,而浮点数运算则可能会有四舍五入的误差.需要注意. 3.字符串 字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"xy

我的Python成长之路---第一天---Python基础(6)---2015年12月26日(雾霾)

七.列表——list Python的列表是一种内置的数据类型,是由Python的基本数据类型组成的有序的集合.有点类似C语言的数组,但与数组不同的是,Python在定义列表的时候不用指定列表的容积(长度),可根据需要任意扩展,另外列表的内的元素可以是不同的数据类型,当然既然是任何数据类型,当然也包括另一个列表也就是嵌套.Python中列表使用中括号[]括起来,例如[1,2,True,'ABC',[5,'678']]. 1.列表的切片 通字符串一样列表也支持切片操作,例如我们有一个列表A_list

Python人工智能之路 - 第一篇 : 你得会点儿Python基础

Python 号称是最接近人工智能的语言,因为它的动态便捷性和灵活的三方扩展,成就了它在人工智能领域的丰碑 走进Python,靠近人工智能 一.编程语言Python的基础 之 "浅入浅出"不是不给你讲,而是重点在人工智能应用 1.变量 声明变量: 1 name = "DragonFire" # 声明一个变量name 用来存储一个字符串"DragonFire" 2 age = 20 # 声明一个变量age 用来存储一个数字 20 3 4 print