零基础 学 python开发 (Genius套餐A)四

版权声明:Genius https://blog.csdn.net/weixin_41987706/article/details/89948158

夜光序言:

每一个心如止水的人,曾经都是个骄傲的疯子

 

 

正文:

简单条件语句 


1 目标 


前面我们看到的程序都是顺序程序,程序在执行时是一句句往下进行的,这种一句句顺序执行的语句是程序中第一类型的语句。

程序结构除了这种简单的顺序结构外,还有一种会转弯的分支结构,它可以根据执行条件来决定该执行哪些语句,不该执行哪些语句,分支语句是程序中的第二类语句。

目标就是来认识 Python 中条件语句的使用。



2 条件语句 


简单条件语句的格式有几种格式:
格式一: 
if 条件: 
 语句 
其中条件后面有":"号,执行的语句要向右边缩进。这种格式的含义是当条件成立时,
便执行指定的语句,执行完后接着执行 If 后下一条语句;如条件不成立,则该语句不执行,
转去 If 的后下一条的语句,如图 2-1-1 所示。


图 2-1-1 If 语句执行过程

第一种格式中"语句"一般只有一条语句,If 语句也是一条语句,它在一行写完。第二种格式的"语句"可以是一条语句或多条语句,这样形成一个语句块。


格式二: 
if 条件: 
语句 1 
else: 
 语句 2 
它的含义是当条件成立时,便执行指定的语句 1,执行完后接着执行 If 后下一条语句;
如条件不成立,则执行指定的语句 2,执行完后接着执行 If 后下一条语句,程序流程如图2-1-2 所示。其中"语句 1"与"语句 2"都可以是语句块。


其中 else 后面有":"号,语句 1、语句 2 都向右边缩进,而且要对齐。一般语句 1、语句2 都可以包含多条语句。



例 2-1-1:输入一个整数,判断它是奇数还是偶数。

 
设输入的整数是 n ,n%2==0 则是偶数,不然为奇数,程序如下:
n=input("Enter:")
n=int(n)
if n%2==0:
 print("Even")
else:
 print("Odd")
例 2-1-2:输入一个整数,输出其绝对值。 
n=input("Enter:")
n=int(n)
if n>=0:
 print(n)
else:
 print(-n)
 



2.1.3 【案例】两个数的最大值 


1、案例描述 
输入两个整数,输出最大的一个。
2、案例分析: 
这是求两个数中最大值的问题,设输入的数为 a 与 b,则 a>b 时,最大值是 a,不然为 b。
3、案例代码 
a=input("a=")
b=input("b=")
a=float(a)
b=float(b)
if a>b:
 c=a
else:
 c=b
print(c)
或者:
a=input("a=")
b=input("b=")
a=float(a)
b=float(b)
c=a
if a<b:
 c=b
print(c)


复杂条件语句 


1 教学目标 


在程序中有些条件是复杂的,产生多个分支,教学目标是使用 Python 的复杂分支条件语句实现程序的多分支走向,例如根据学生的成绩进行等级评定。
 



2 复杂条件语句 


复杂分支 If 条件语句的格式是:
if 条件 1: 
语句 1 
elif 条件 2: 
语句 2 
…… 
elif 条件 n: 
语句 n 
else: 
语句 n+1 
它的含义是当条件 1 成立时,便执行指定的语句 1,执行完后,接着执行 If 后下一条语句;如条件 1 不成立,则判断条件 2,当条件 2 成立时,执行指定的语句 2,执行完后,接着执行 If 后下一条语句;如条件 2 不成立,则继续判断条件 3,……,判断条件 n,如成立执行语句 n,接着执行 If 后下一条语句;如条件 n 还不成立,则最后只有执行语句 n+1,执行完后,接着执行 If 后下一条语句,程序流程如图 2-2-1 所示。

其中每个条件后有":"号,语句 1、语句 2、......等都向右边缩进,而且要对齐。一般语句 1、语句 2、......等都可以包含多条语句。

图 2-2-1 多分之 If 语句的流程


例 2-2-1:输入一个学生的整数成绩 m,按[90,100]、[80,89]、[70,79]、[60,69]、[0,59]的范围分别给出 A、B、C、D、E 的等级。 

分析:输入的成绩可能不合法(小于 0,或大于 100),也可能在[90,100]、[80,89]、
[70,79]、[60,69]、[0,59]的其中一段之内,可以用复杂分支的 If 结构来处理。
m=input("Enter mark:")
m=float(m)
if m<0 or m>100:
 print("Invalid")
elif m>=90:
 print("A")
elif m>=80:
 print("B")
elif m>=70:
 print("C")
elif m>=60:
 print("D")
else:
 print("E")


例 2-2-2:输入 0-6 的整数,把它作为星期,其中 0 对应星期日,1 对应星期一,……,
输出 Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday。 
设输入的整数为 w,根据 w 的值可以用 switch 语句分为 8 个情形,程序如下:
w=input("w=")
w=int(w)
if w==0:
 s="Sunday"
elif w==1:
 s="Monday"
elif w==2:
 s="Tuesday"
elif w==3:
 s="Wednesday"
elif w==4:
 s="Thursday"
elif w==5:
 s="Friday"
elif w==6:
 s="Sturday"
else:
 s="Unknown"
print(s)



2.2.3 【案例】一元二次方程的解 
1、案例描述 
输入一元二次方程的系数 a、b、c,求它的根、

3、案例代码 

c=input("c=")
a=float(a)
b=float(b)
c=float(c)
if a!=0:
 d=b*b-4*a*c
 if d>0:
 d=math.sqrt(d)
 x1=(-b+d)/2/a
 x2 = (-b - d) / 2 / a
 print("x1=",x1,"x2=",x2)
 elif d==0:
 print("x1,x2=", -b/2/a)
 else:
 print("无实数解")
else:
 print("不是一元二次方程")


例如:
a=1
b=2
c=1
x1,x2= -1.0

猜你喜欢

转载自blog.csdn.net/weixin_41987706/article/details/89948158