直接讲多分支结构(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
运行结果如下:
举例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]
时间: 2024-11-09 22:01:18