第四篇:python基础之条件和循环

阅读目录

一.if语句

1.1 功能

1.2 语法

1.2.1:单分支,单重条件判断

1.2.2:单分支,多重条件判断

1.2.3:if+else

1.2.4:多分支if+elif+else

1.2.5:if语句小结

1.3 案例

1.4 三元表达式

二.while语句

2.1 功能

2.2 语法

2.2.1:基本语法

2.2.2:计数循环

2.2.3:无限循环

2.2.4:while与break,continue,else连用

2.2.5:while语句小结

2.3 案例

三.for语句

3.1 功能

3.2 语法

3.2.1:基本语法

3.2.2:遍历序列类型

3.2.3:遍历可迭代对象或迭代器

3.2.4:for基于range()实现计数循环

3.2.5:for与break,continue,else

3.2.6:for语句小结

3.3 案例

四.练习

一.if语句

1.1 功能

计算机又被称作电脑,意指计算机可以像人脑一样,根据周围环境条件(即expession)的变化做出不同的反应(即执行代码)

if语句就是来控制计算机实现这一功能

1.2 语法

1.2.1:单分支,单重条件判断

if expression:

expr_true_suite

注释:expession为真执行代码expr_true_suite

1.2.2:单分支,多重条件判断

if not  active or over_time >= 10:

print(‘Warning:service is dead‘)

warn_tag+=1

1.2.3:if+else

if expression:

expr_true_suite

else:

expr_false_suite

1.2.4:多分支if+elif+else

if expession1:

expr1_true_suite

elif expression2:

expr2_true_suite

elif expession3:

expr3_true_suite

else:

none_of_the_above_suite

1.2.5:if语句小结

if 后表达式返回值为True则执行其子代码块,然后此if语句到此终结,否则进入下一分支判断,直到满足其中一个分支,执行后终结if

expression可以引入运算符:not,and,or,is,is not

多重expression为加强可读性最好用括号包含

if与else缩进级别一致表示是一对

elif与else都是可选的

一个if判断最多只有一个else但是可以有多个elif

else代表if判断的终结

expession可以是返回值为布尔值的表达式(例x>1,x is not None)的形式,也可是单个标准对象(例 x=1;if x:print(‘ok‘))

所有标准对象均可用于布尔测试,同类型的对象之间可以比较大小。每个对象天生具有布 尔 True 或 False 值。空对象、值为零的任何数字或者 Null 对象 None 的布尔值都是 False。

下列对象的布尔值是 False

1.3 案例

#!/usr/bin/env python

#_*_coding:utf-8_*_

‘‘‘

提示输入用户名和密码

验证用户名和密码

如果错误,则输出用户名或密码错误

如果成功,则输出 欢迎,XXX!

‘‘‘

import getpass

name=input(‘用户名: ‘)

passwd=getpass.getpass(‘密码: ‘)

if name == ‘tom‘ and passwd == ‘123‘:

print(‘welcome‘)

else:

print(‘get out‘)

1.4 三元表达式

语法:

expr_true_suite if expession else expr_false_suite

案例一:

>>> active=1

>>> print(‘service is active‘) if active else print(‘service is inactive‘)

service is active

案例二:

>>> x=1

>>> y=2

>>> smaller=x if x < y else y

>>> smaller

1

二.while语句

2.1 功能

while循环的本质就是让计算机在满足某一条件的前提下去重复做同一件事情(即while循环为条件循环,包含:1.条件计数循环,2条件无限循环)

这一条件指:条件表达式

同一件事指:while循环体包含的代码块

重复的事情例如:从1加到10000,求1-10000内所有奇数,服务等待连接

2.2 语法

2.2.1:基本语法

while expression:

suite_to_repeat

注解:重复执行suite_to_repeat,直到expression不再为真

2.2.2:计数循环

count=0

while (count < 9):

print(‘the loop is %s‘ %count)

count+=1

2.2.3:无限循环

count=0

while True:

print(‘the loop is %s‘ %count)

count+=1

tag=True

count=0

while tag:

if count == 9:

tag=False

print(‘the loop is %s‘ %count)

count+=1

2.2.4:while与break,continue,else连用

count=0

while (count < 9):

count+=1

if count == 3:

print(‘跳出本层循环,即彻底终结这一个/层while循环‘)

break

print(‘the loop is %s‘ %count)

count=0

while (count < 9):

count+=1

if count == 3:

print(‘跳出本次循环,即这一次循环continue之后的代码不再执行,进入下一次循环‘)

continue

print(‘the loop is %s‘ %count)

count=0

while (count < 9):

count+=1

if count == 3:

print(‘跳出本次循环,即这一次循环continue之后的代码不再执行,进入下一次循环‘)

continue

print(‘the loop is %s‘ %count)

else:

print(‘循环不被break打断,即正常结束,就会执行else后代码块‘)

count=0

while (count < 9):

count+=1

if count == 3:

print(‘跳出本次循环,即这一次循环continue之后的代码不再执行,进入下一次循环‘)

break

print(‘the loop is %s‘ %count)

else:

print(‘循环被break打断,即非正常结束,就不会执行else后代码块‘)

2.2.5:while语句小结

条件为真就重复执行代码,直到条件不再为真,而if是条件为真,只执行一次代码就结束了

while有计数循环和无限循环两种,无限循环可以用于某一服务的主程序一直处于等待被连接的状态

break代表跳出本层循环,continue代表跳出本次循环

while循环在没有被break打断的情况下结束,会执行else后代码

2.3 案例

while True:

handle, indata = wait_for_client_connect()

outdata = process_request(indata)

ack_result_to_client(handle, outdata)

import getpass

account_dict={‘alex‘:‘123‘,‘eric‘:‘456‘,‘rain‘:‘789‘}

count = 0

while count < 3:

name=input(‘用户名: ‘).strip()

passwd=getpass.getpass(‘密码: ‘)

if name in account_dict:

real_pass=account_dict.get(name)

if passwd == real_pass:

print(‘登陆成功‘)

break

else:

print(‘密码输入错误‘)

count+=1

continue

else:

print(‘用户不存在‘)

count+=1

continue

else:

print(‘尝试次数达到3次,请稍后重试‘)

三.for语句

3.1 功能

for 循环提供了python中最强大的循环结构(for循环是一种迭代循环机制,而while循环是条件循环,迭代即重复相同的逻辑操作,每次操作都是基于上一次的结果,而进行的)

3.2 语法

3.2.1:基本语法

for iter_var in iterable:

suite_to_repeat

注解:每次循环, iter_var 迭代变量被设置为可迭代对象(序列, 迭代器, 或者是其他支持迭代的对 象)的当前元素, 提供给 suite_to_repeat 语句块使用.

3.2.2:遍历序列类型

name_list=[‘alex‘,‘eric‘,‘rain‘,‘xxx‘]

#通过序列项迭代

for i in name_list:

print(i)

#通过序列索引迭代

for i in range(len(name_list)):

print(‘index is %s,name is %s‘ %(i,name_list[i]))

#基于enumerate的项和索引

for i,name in enumerate(name_list,2):

print(‘index is %s,name is %s‘ %(i,name))

3.2.3:遍历可迭代对象或迭代器

迭代对象:就是一个具有next()方法的对象,obj.next()每执行一次,返回一行内容所有内容迭代完后,

迭代器引发一 个 StopIteration 异常告诉程序循环结束. for 语句在内部调用 next() 并捕获异常.

for循环遍历迭代器或可迭代对象与遍历序列的方法并无二致,只是在内部做了调用迭代器next(),并捕获异常,终止循环的操作

很多时候你根本无法区分for循环的是序列对象还是迭代器

>>> f=open(‘a.txt‘,‘r‘)

for i in f:

print(i.strip())

hello

everyone

sb

3.2.4:for基于range()实现计数循环

range()语法:

range(start,end,step=1):顾头不顾尾

range(10):默认step=1,start=0,生成可迭代对象,包含[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

range(1,10):指定start=1,end=10,默认step=1,生成可迭代对象,包含[1, 2, 3, 4, 5, 6, 7, 8, 9]

range(1,10,2):指定start=1,end=10,step=2,生成可迭代对象,包含[1, 3, 5, 7, 9]

>>> list(range(10))

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> for i in range(10):

print(i)

0

1

2

3

4

5

6

7

8

9

注:for基于range()实现计数循环,range()生成可迭代对象,说明for循环本质还是一种迭代循环

3.2.5:for与break,continue,else

同while

3.2.6:for语句小结

for循环为迭代循环

可遍历序列成员(字符串,列表,元组)

可遍历任何可迭代对象(字典,文件等)

可以用在列表解析和生成器表达式中

break,continue,else在for中用法与while中一致

3.3 案例

albums = (‘Poe‘, ‘Gaudi‘, ‘Freud‘, ‘Poe2‘)

years = (1976, 1987, 1990, 2003)

#sorted:排序

for album in sorted(albums):

print(album)

#reversed:翻转

for album in reversed(albums):

print(album)

#enumerate:

for i in enumerate(albums):

print(i)

#zip:组合

for i in zip(albums,years):

print(i)

四.练习

一、元素分类

有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。

即: {‘k1‘: 大于66的所有值, ‘k2‘: 小于66的所有值}

二、查找

查找列表中元素,移除每个元素的空格,并查找以 a或A开头 并且以 c 结尾的所有元素。

三、输出商品列表,用户输入序号,显示用户选中的商品

商品 li = ["手机", "电脑", ‘鼠标垫‘, ‘游艇‘]

四、购物车

功能要求:

要求用户输入总资产,例如:2000

显示商品列表,让用户根据序号选择商品,加入购物车

购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。

附加:可充值、某商品移除购物车

goods = [

{"name": "电脑", "price": 1999},

{"name": "鼠标", "price": 10},

{"name": "游艇", "price": 20},

{"name": "美女", "price": 998},

]

五、用户交互,显示省市县三级联动的选择

dic = {

"河北": {

"石家庄": ["鹿泉", "藁城", "元氏"],

"邯郸": ["永年", "涉县", "磁县"],

}

"河南": {

...

}

"山西": {

...

}

}

时间: 2024-10-24 08:02:06

第四篇:python基础之条件和循环的相关文章

【Python之路】第四篇--Python基础之函数

三元运算 三元运算(三目运算),是对简单的条件语句的缩写 # 书写格式 result = 值1 if 条件 else 值2 # 如果条件成立,那么将 "值1" 赋值给result变量,否则,将"值2"赋值给result变量 基本数据类型补充 set set集合,是一个无序且不重复的元素集合 class set(object): """ set() -> new empty set object set(iterable) ->

Pthon学习之路 第四篇 Python基础(二)

1.运算符:+  -  *(乘法)  /(除法)  %(求余)  //(求商)  **(求幂) 2.成员运算:in      not in:判断单个字符或者子序列在不在字符串中.(not in是in的反操作) [在python里在英文输入法下用  "  " 引起来的整体叫字符串,其里面的每一个个体单位叫做一个字符.字符串中的两个或者两个以上连续的字符叫做字符串的子序列] n1=input("请输入名言:") if "中国真好" in n1: pr

Python基础之条件和循环

阅读目录 一.if语句 1.1功能 1.2语法 1.2.1:单分支,单重条件判断 1.2.2:单分支,多重条件判断 1.2.3:if + else 1.2.4:多分支if + elif +else 1.2.5if语句小结 1.3案例 1.4三元表达式 二.while语句 2.1功能 2.2语法 2.2.1:基本语法 2.2.2:计数循环 2.2.3:计数无限循环 2.2.4:while与break,continue,else连用 2.2.5:while语句小结 2.3:案例 三.for语句 3.

python 基础知识条件和循环

一.if语句 根据不同的条件来执行不同的动作. 语法:主要是有以下4种情况 1.单分支,单条件判断 if 条件: 代码段 (只有条件为真时,才会执行.) 2.单分支,多重条件判断 if 条件1 , 条件2: 代码段 (两个条件组合,返回的为真时,才执行) 3. if + else if 条件(单个或者多重条件): 代码段 else: 代码段(条件不为真时,执行此段代码段) 备注:一个if判断,最多只有一个else 4.if + elif + else if 条件1: 执行代码段1 elif 条件

第二章 Python基础之条件判断,循环

1.条件判断if   else 如: if age >=18 and scroe <= 100: #py中不使用&标识并集 等于使用== 不等于使用!= print('成年') else:                       #中间可以使用elif 加如其他条件     print ('dd') 2.循环 遍历 迭代 (1)while循环 需要先定义一个计数器,需要有结束的条件,否则会死循环 count =0 while count<20:     print('tian

python基础(3)--条件判断循环语句与列表解析,生成器

判断循环语句语法说明: 1,if if boolean_expression: ... elif boolean_expression: ... else ... 2,while while boolean_expression: while_suite if boolean_expression2: continue if boolean_expression3: break else: else_suite 3,for for expression in object: for_suite

Python学习:基本数据类型与变量(中)与基础之条件及循环(上)

一.数据类型和变量 1.可变与不可变数据类型 可变数据类型:在id不变的情况下,数据类型内部的元素可以改变 列表 字典 不可变数据类型:value改变,id也跟着改变 数字 字符串 布尔 补充: True--->1 False--->0 2.运算符 1.算数运算: 2.比较运算: 3.赋值运算: 4.逻辑运算: and注解: 在Python 中,and 和 or 执行布尔逻辑演算,如你所期待的一样,但是它们并不返回布尔值:而是,返回它们实际进行比较的值之一. 在布尔上下文中从左到右演算表达式的

python基础之条件控制与循环

Python3 条件控制 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现: age = 20 if age >= 18: print('your age is', age) print('adult') 根据Python的缩进规则,如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么

Python基础篇-Python基础语法

Python基础语法 为什么学习python Python的安装 rpm -q python uname -r python -V yum -y install python-pip pip install ipython         支持 2.7 pip install ipython==1.2.1                支持 2.6