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 条评论
登录 后参与评论

相关文章

来自专栏有趣的Python

7-Java基础语法-数组之二维数组

所谓二维数组,可以简单的理解为是一种“特殊”的一维数组,它的每个数组空间中保存的是一个一维数组。

551
来自专栏cs

顺序表

724
来自专栏程序生活

Leetcode-Easy 709. To Lower Case

因为很简单,自己尽量想多种方法来尝试实现,本来想使用ASCII码实现(chr,ord)但是太麻烦了,想来想去有回归到下面两种:

793
来自专栏牛肉圆粉不加葱

(3) - Scala case class那些你不知道的知识

除了在模式匹配中使用之外,unapply 方法可以让你结构 case class 来提取它的字段,如:

641
来自专栏码云1024

NumPy Ndarray对象

884
来自专栏desperate633

LintCode A+B问题题目分析代码

给出两个整数a和b, 求他们的和, 但不能使用+等数学运算符。 ** 注意事项 ** ** 你不需要从输入流读入数据,只需要根据aplusb的两个参数a和b...

532
来自专栏石奈子的Java之路

原 java数据结构与算法之数组篇

1774
来自专栏漫漫深度学习路

tensorflow错误总结

在写tensorflow代码的时候,经常会出现一些错误,在此记录一下,希望不要采同样的坑。 错误总结 bias = tf.get_variable("bias"...

1729
来自专栏码云1024

NumPy Ndarray对象

2665
来自专栏数据结构与算法

16:忽略大小写的字符串比较

16:忽略大小写的字符串比较 总时间限制: 1000ms 内存限制: 65536kB描述 一般我们用strcmp可比较两个字符串的大小,比较方法为对两个字符串...

3569

扫码关注云+社区