Python学习之五【程序控制结构-选择结构&&循环结构】

时间:2022-09-08 17:16:41

直接讲多分支结构(Chained)吧,比较简单,就概括一下:

比如

举例1: 将考试分数转换为等级
分数 >= 90
A
分数 >= 80
B
分数 >= 70
C
分数 >= 60
D
分数 < 60
E

Python语句实现:

score =98
if score>=90:
    print 'A'
elif score>=80:
    print 'B'
elif score>=70:
    print 'C'
elif score>=60:
    print 'D'
else:
     print 'E'</span>

输出 A

举例2:求一元二次方程的解

python 代码实现:

import math
a=float(raw_input('input a: '))
b=float(raw_input('input b: '))
c=float(raw_input('input c: '))

if a==0:
    print 'not quadratic'
else:
    delta=b**2-4*a*c
    if delta <0:
        print 'no real root!'
    elif delta ==0:
        print 'only one root is',-b/(2*a)
    else:
        root =math.sqrt(delta)
        s1=(-b+root)/(2*a)
        s2=(-b-root)/(2*a)
    print 'two distinct solutions are: ',s1,s2

运行结果如下:

Python学习之五【程序控制结构-选择结构&&循环结构】


举例3:计算1+2+3+…+10的值
注意:range 函数生成 0, 1, …, 10 序列

代码实现:

s = 0
i=1
for i in range(11):
    s += i      
print 'sum is ',s

输出 55

举例4:计算常数 e

思路:(1)调用函数,(2)自己写函数

代码实现

import math
e = 1
for i in range(1,100):
   e += 1.0/math.factorial(i) 
print 'e is ',e

输出:e is  2.71828182846

e = 1
fib=1
for i in range(1, 100):
    fib *= i
    e +=1.0/fib
print 'e is ', e
输出:e is  2.71828182846

可以看出两种方法结果是一样的,不过注意第二种,for循环下面第二行或更多行,要和第一行保持左边对齐,否则运行则单独为一条语句

注意:

range(2, 10) = [2, 3, 4, 5, 6, 7, 8, 9]
range(2, 10, 3) = [2, 5, 8]
range(10, 2, -1) =[10, 9, 8, 7, 6, 5, 4, 3]