Python程序基本控制流程
一、顺序结构
#仅用两个变量交换其数值
a=1;b=2
c=3;d=4
e=5;f=6
print('a=',a,',b=',b,',c=',c,',d=',d,'e=',e,'f=',f)
#第一种方法
a,b=b,a
print('a=',a,',b=',b)
#第二种方法
c=c+d
d=c-d
c=c-d
print('c=',c,',d=',d)
#第三种方法
e=e^f
f=e^f
e=e^f
print('e=',e,',f=',f)
二、选择结构
- if语句的结构:
if <条件1>:
<语句1>
elif <条件2>:
<语句2>
else:
<语句3>
此时,条件1成立时执行语句1,;条件2成立时执行语句2;条件1和条件2都不成立时执行语句3。
s = int(input('请输入分数'))
if s > 100 or s < 0 :
print("请重新输入0~100分数")
else :
score = int(s/10)
if score == 0 :
print('鸡蛋')
elif score == 10 :
print('满分')
elif score == 9 :
print('优秀')
elif score == 8 :
print('良好')
elif score == 7 :
print('还可以')
elif score == 6 :
print('合格')
else :
print('不及格')
需要注意的是:在使用多个elif语句的分支结构时,应把握好多个条件语句之间的关系。只要有一个条件成立,就会将其后的语句执行,执行后退出整个if语句。
-
三元运算符
if语句可以使用在一个单语句中,实现三元运算符,基本形式:<表达式1> if <条件> else <表达式2>
-
if语句的嵌套
if<条件>:
if<条件>:
<语句1>
elif<条件>:
<语句2>:
else:
<语句3>
三、for循环语句
-
for循环语句的结构
Python语言中的for语句与其他高级程序设计语言有很大的不同,其他高级语言for语句要用循环控制变量来控制循环。Python中for语句是通过循环遍历某一序列对象(字符串、列表、元组等)来构建循环,循环结束的条件就是对象被遍历完成。
for语句的形式如下:
for <循环变量> in <循环对象>:
<语句1>
else:
<语句2>
else语句中的语句2只有循环正常退出(遍历完所有遍历对象中的值)时执行。
ls = []
for num in range(2,101):
flag = True
for i in range(2,num):
if num%i == 0:
#被整除了,所以不是质数,将flag设置为Flase
flag = False
break
if flag:
ls.append(num)
else:
pass
print("1~100以内的素数有:")
print(ls)
for语句的循环对象可以是列表、元组以及字符串,可以通过range()函数产生一个迭代值,以完成计数循环。
range( [start,] stop [, step])
for语句使用range()函数可以构建基于已知循环次数的循环程序,也可以以range()生成的数字作为索引来访问列表、元组、字符串中的值。
需要注意的是,range() 函数返回的对象表现为它是一个列表,但事实上它并不是,range()函数并不是在调用时一次生成整个序列,而是遍历一次才产生一个值,以减少内存的占用,其本质是一个迭代器。
>>> range(10)
range(0, 10)
>>> type(range(10))
<class 'range'>
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
四、while循环
for语句以遍历对象的方式构造循环,有时却需要构造一种类似无限循环的程序控制结构或某种不确定运行次数的循环,就需要使用while语句
1、while语句结构:
while语句的基本形式如下:
while<条件>:
<语句1>
else:
<语句2>
与for循环不同的是,while语句只有在测试条件为假时才会停止。
i = 1
sum = 0
while i <=100:
if i% 3 == 0:
sum += i
i += 1
print(sum)
break语句、continue语句、pass语句
break语句用在while和for循环中,break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。
continue语句用在while和for循环中,continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。 continue 语句跳出本次循环,而break跳出整个循环。
Python pass是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句。
while 1 :
a = float(input('请输入第一个数字'))
b = float(input('请输入第二个数字'))
c = str(input('请输入运算符'))
if c == '+' :
print('{}+{}={}'.format(a,b,a+b))
elif c == '-' :
print('{}-{}={}'.format(a,b,a-b))
elif c == '*' :
print('{}*{}={}'.format(a,b,a*b))
elif c == '/' :
print('{}/{}={}'.format(a,b,a/b))
elif c == '%' :
print('{}%{}={}'.format(a,b,a%b))
elif c == '//' :
print('{}//{}={}'.format(a,b,a//b))
elif c == '**' :
print('{}**{}={}'.format(a,b,a**b))
else :
print('请输入正确的运算符(+ - * / % // **)')
d = int(input('按1继续,否则退出'))
if d == 1 :
continue
else :
break