【自学python100天】D3-分支结构

https://github.com/jackfrued/Python-100-Days/blob/master/Day01-15/03.%E5%88%86%E6%94%AF%E7%BB%93%E6%9E%84.md

程序的三大结构:顺序结构、分支结构、循环结构。

分支结构:

  • ifelifelse关键字
  • 缩进表示结构块逻辑

分段函数

$$f(x)=\begin{cases} 3x-5&\text{(x>1)}\x+2&\text{(-1}\leq\text{x}\leq\text{1)}\5x+3&\text {(x<-1)}\end{cases}$$$$f(x)=\begin{cases} 3x-5&\text{(x>1)}\x+2&\text{(-1}\leq\text{x}\leq\text{1)}\5x+3&\text {(x<-1)}\end{cases}$$

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

嵌套的分支结构

(注意:能使用扁平化的结构时就不要使用嵌套)

练习1:英制单位英寸与公制单位厘米互换。

value = float(input('输入长度:'))
unit = input('输入单位:')
if unit == 'in' or unit == '英寸':
    print('%f英寸= %f厘米'%(value, value *2.54))
elif unit == '厘米' or unit == 'cm':
    print('%f厘米= %f英寸'%(value, value /2.54))
else:
    print('请输入有效单位')

练习2:百分制成绩转换为等级制成绩。

要求:如果输入的成绩在90分以上(含90分)输出A;80分-90分(不含90分)输出B;70分-80分(不含80分)输出C;60分-70分(不含70分)输出D;60分以下输出E。

score = float(input('输入成绩:'))
if score >= 90:
    print('A')
elif score >= 80:
    print('B')    
elif score >= 70:
    print('C')   
elif score >= 60:
    print('D')  
else:
    print('E') #或者把等级变成一个变量,最后输出等级

练习3:输入三条边长,如果能构成三角形就计算周长和面积。

a=float(input('a='))
b=float(input('b='))
c=float(input('c='))
if a + b > c and b+c>a and a+c>b:
    p=(a+b+c)/2;
    area= (p*(p-a)*(p-b)*(p-c))**0.5
    print('周长是%.2f,面积是%.2f'%(2*p,area))#海伦公式
else:
    print('不能构成三角形')

总结:

1.这一节比较简单,主要讲的是分支结构,if,elif和else,通过条件判断然后执行不同的分支

2.从编程里也能学到很多知识,比如三角形三边求面积的海伦公式,周长英文perimeter

3.要注意条件的前后逻辑关系,不要覆盖不全,比如成绩等级的。

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页