Python分支结构及循环结构

Python中分支结构:

1.在Python中,要构造分支结构可以使用ifelifelse关键字。

所谓关键字就是有特殊含义的单词,像ifelse就是专门用于构造分支结构的关键字,很显然你不能够使用它作为变量名(事实上,用作其他的标识符也是不可以)。

2.Python中没有用花括号来构造代码块而是使用了缩进的方式来设置代码的层次结构,如果if条件成立的情况下需要执行多条语句,只要保持多条语句具有相同的缩进就可以了,换句话说连续的代码如果又保持了相同的缩进那么它们属于同一个代码块,相当于是一个执行的整体。

3.例题:

"""
分段函数求值
3x - 5 (x > 1)
f(x) = x + 2 (-1 <= x <= 1)
5x + 3 (x < -1)

"""

x = float(input('x = '))
if x > 1:
y = 3 * x - 5
else:
if x >= -1:
y = x + 2
else:
y = 5 * x + 3
print('f(%.2f) = %.2f' % (x, y))

Python中循环:

1.在Python中构造循环结构有两种做法,一种是for-in循环,一种是while循环。

1.1 for ...in...循环:

如果明确的知道循环执行的次数或者是要对一个容器进行迭代(后面会讲到),那么我们推荐使用for-in循环:

例题:

"""
用for循环实现1~100求和

"""

sum = 0
for x in range(101):
sum += x
print(sum)

注意一点:

需要说明的是上面代码中的range类型,range可以用来产生一个不变的数值序列,而且这个序列通常都是用在循环中的,例如:

  • range(101)可以产生一个0到100的整数序列。

  • range(1, 100)可以产生一个1到99的整数序列。

  • range(1, 100, 2)可以产生一个1到99的奇数序列,其中的2是步长,即数值序列的增量。

1.2 while循环:

如果要构造不知道具体循环次数的循环结构,我们推荐使用while循环,while循环通过一个能够产生或转换出bool值的表达式来控制循环,表达式的值为True循环继续,表达式的值为False循环结束

例题:

"""
输入一个正整数判断它是不是素数

"""
from math import sqrt

num = int(input('请输入一个正整数: '))
end = int(sqrt(num))
is_prime = True
for x in range(2, end + 1):
if num % x == 0:
is_prime = False
break
if is_prime and num != 1:
print('%d是素数' % num)
else:
print('%d不是素数' % num)

代码:

z=0
f=0
sum=0
count=0
d=1
def yun(d):
global z,f,sum,count
while d!=0:
d=int(input('Enter an integer,the ends if it is 0:'))
if d>0:
z+=1
if d<0:
f+=1
sum+=d
if d!=0:
count+=1
print('正数个数:%d' % z)
print('负数个数:%d' % f)
print('和为:%d' % sum)
print('平均数是:%f' % (sum/count))

yun(d)

猜你喜欢

转载自www.cnblogs.com/wangshilin/p/11297666.html