python(二)—选择和循环结构

python(二)—选择和循环结构

一、选择结构

选择结构有三种,分别为单分支,双分支,多分支选择结构

if语句的执行过程是:计算表达式的值,若值为true,则执行if后面的语句块,若为false,则直接执行后续语句

·单分支选择一般格式为:

if 条件句:

语句块

·双分支选择结构一般格式为:

if 条件句:

语句块

else:

语句块

·多分支选择结构一般格式:

if 条件句:

语句块

elif 条件句:

语句块

else:

语句块

下面演示一个例子:

s = int(input("your grade:")) #input输入是返回数值字符串类型(str),调用int()函数转换为整型

if s > 90:

print ("优秀")

elif s >=60:

print("及格")

else:

print("不及格")

your grade:50

不及格

elif是else if的缩写,完全可以有多个elif,if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else

二、循环结构

1、while语句

while的表达式表示循环条件,先计算表达式的值,结果解释为true或者false,如果是true,执行循环体中的语句,如果是false,才结束循环。

·while语句一般表达式为:

while 表达式:

语句块(循环体)#循环体可以是单语句,也可以是多语句,多语句必须缩进对齐

例如:

p,n,r = 1,0,0.3

while p < 2:

n+=1 #相当于 n=n+1

p*=1+ r

print (n,p)

注意:如果表达式永远为true,循环体将会无限的执行下去(“死”循环),所以要修改表达式的值,使其趋向false的值,尽量避免死循环,进入死循环后,可用Ctrl+C退出死循环。例如:

n = 1

while n ==1:

print('good')

·在while语句中使用else语句

else会在循环正常执行完情况下执行,例如:

n = int(input())

while n < 3:

print(n)

n+=1

else:

print("n>=3",n)

2、for循环

for语句的一般格式为:

for 目标变量 in 序列对象:

语句块

for语句将序列对象中元素逐个赋值给目标变量,目标变量的作用的存储每一次循环引用的序列对象元素,每一次赋值,执行一遍语句块,序列遍历后,结束循环后,执行for后面的语句。列表,元组,字符串都可以当序列,用于for循环时,元组和列表都是同样的作用,循环的次数取决于序列元素的个数,而不是值。例如:

·遍历列表循环

fs = ['a','b','c']

for f in fs:

print(f)

a

b

c

·遍历元组循环

ys = ('a','b','c')

for y in ys:

print(y)

·遍历字符串循环

st = "hello,world"

for i in st:

print(i)

·在循环体中也可以引用目标变量,这样能控制循环次数

s = 0

for i in ['1','2','3']:

print(i)

s=i+1

print(s)

·可以在循环体中修改目标变量的值,当程序执行循环再次回到循环开始是,会被当成下一个元素,退出循环后,该变量就是循环序列中最后的元素,例如:

s = ['1','2','3']

for i in s:

print(i)

i=5

print("修改后i的值",i)

print("结束循环后i的值",i)

print("结束循环后s的值",s)

·for语句也支持else快,功能和while一样,如果循环离开没有遇到break语句,就会执行else语句。例如;

for i in ['1','2','3']:

print(i)

else:

print("hello,world")

1

2

3

hello,world

·range对象在for循环中的使用

rang()函数返回的是可迭代的对象,python调用内置函数iter()获得迭代器,自动调用内置函数next()获取元素,如果遍历一个数列,可以用range 对象,例如:

for i in rang(0,1):

print(i)

1

·注意:在这里说明一下range的用法

>>> range(5) #代表从0到5(不包含5)

[0, 1, 2, 3, 4]

>>> range(1,5) #代表从1到5(不包含5)

[1, 2, 3, 4]

>>> range(1,5,2) #代表从1到5,间隔2(不包含5)

[1, 3]

3、break语句

break用在循环体中,让循环停止,继续执行循环结构后面的语句。例如:

n = 5

while n>0:

print(n)

n=n-1

if n==2:break

print("循环结束后的n:",n)

5

4

3

循环结束后的n: 2

4、continue语句

continue语句执行时,不会退出循环结构,而是结束本次循环,重新开始下一轮循环,也是就跳过continue后面的语句,例如

n = 0

while n < 10:

n = n + 1

if n == 3: # 当n=3,执行continue语句

continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行

print(n)

1

2

4

5

·注意:continue和break的区别就是continue只结束本次循环,而不是终止整个循环,break是跳出所在的循环体

5、pass语句

pass是一个空语句,代表空操作。循环体可以包括一个或多个语句,但不能空语句,所以当只是想让程序循环一定次数,循环过程什么都不操作,就可以调用pass。例如

for x in rang(0,10):#该语句会循环10次,但是循环之外,什么都没操作

pass

for i in 'hello':

if i=='o':

pass

print("world")

print(i)

h

e

l

l

world

o

本文来自企鹅号 - 全球大搜罗媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大闲人柴毛毛

稳扎稳打JS——this

this的值是在运行时确定的 JS中的this究竟代表什么,这是在程序运行时根据上下文环境确定,可以分为以下几种情况。 1. 全局作用域中的this 在全局作...

3565
来自专栏PHP在线

PHP部分字符串函数汇总

我们大家知道无论哪种语言,字符串操作都是一个重要的基础,往往是简单而重要。PHP给我们提供了大量的字符串操作函数,功能强大,使用也比较简单,这里为大家总结九类字...

3076
来自专栏python成长之路

实例属性和类属性的理解

1143
来自专栏积累沉淀

linux shell函数定义和调用

说起函数调用,相信大家也不会陌生,然而对于初学Shell的我来说,Shell中函数调用方式却有点让我不太习惯,自己也走了不少的弯路,因为传递参数时出了一个很“自...

2127
来自专栏淡定的博客

python入门基础语法总结

793
来自专栏WD学习记录

C#学习笔记(五)

简单的按照成员副职对象可以通过派生于System.Object的MemberwiseClone()方法来完成。这是一个受保护的方法,但很容易在对象上定义一个调用...

531
来自专栏数据结构笔记

python基础类型(三):可调用类型——函数和方法

在 python中所有的类型都是对象,即使是 int,float这些其他语言中的基础类型在 python中也是以对象的形式存在,函数和方法也不例外。

653
来自专栏PHP实战技术

你真的了解如何将 Nginx 配置为Web服务器吗

阅读之前,建议先阅读初识 Nginx。 之后,我们来了解一下 Nginx 配置。

2258
来自专栏智能算法

Python学习(五)---- 不可不知的装饰器!

https://blog.csdn.net/fgf00/article/details/52061971

552
来自专栏尾尾部落

[剑指offer] 反转链表

设置三个指针,head为当前节点,pre为当前节点的前一个节点,next为当前节点的下一个节点,需要pre和next的目的是让当前节点从pre->head->n...

602

扫码关注云+社区