咸鱼的Python学习日志03_分支结构

  • Post author:
  • Post category:python




应用场景

之前所有的语句都是顺序执行的,若是碰到需要判断进行多分支处理的情况就无能为力了。程序中为此出现了分支结构或选择结构来处理这样的问题。



if语句的使用

在python中,使用if、elif和else关键字来构造分支结构。

"""
用户身份验证
"""

username=input('请输入用户名:')
password=input('请输入口令:')

if username == 'admin' and password == '123456':
    print('身份验证成功!')
else:
    print('身份验证失败!')
    

image-20210119153143371

Python中使用缩进的方式来表示代码的层次结构这和C/C++是不一样的。如果要执行多个语句,宇通保持相同的缩进即可。

多分支的分段函数处理





f

(

x

)

=

{

3

x

5

(x>1)

x

+

2

(-1

x

1)

5

x

+

3

(x<-1)

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


)




=



















































































3


x









5








x




+




2








5


x




+




3




























(x>1)










(-1











x











1)










(x<-1)


























"""
分段函数求值
        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
elif x >= -1 and x <= 1:
    y = x+2
else:
    y = 5*x + 3
print('f(%.2f)=%.2f' % (x, y))

image-20210119153804428

在实现的时候也可以用嵌套的方式来进行处理。

"""
分段函数求值
        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
elif x <=1:
    if x>=-1:
        y=x+2
    else:
        y=5*x+3
print('f(%.2f)=%.2f' % (x, y))

image-20210119154040042



练习



练习一

英制单位英寸与公制单位厘米互换。 1英寸 = 2.54厘米

"""
英制单位英寸与公制单位厘米互换。 1英寸 = 2.54厘米
"""
value = float(input('请输入长度:'))
unit = input('请输入单位')
if unit == '英寸' or unit == 'in':
    print('%.2f英寸 = %.2f厘米' % (value, value*2.54))
elif unit == '厘米' or unit == 'cm':
    print('%.2f厘米 = %.2f英寸' % (value, value/2.54))
else:
    print('单位无效!')

image-20210119154852426



练习二

百分制成绩转换为等级制成绩


要求

:如果输入的成绩在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')

image-20210119155340842



练习三

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

"""
判断输入的边长能否构成三角形,如果能则计算出三角形的周长和面积
"""
a= float(input('a='))
b= float(input('b='))
c= float(input('c='))

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


image-20210119155827209



版权声明:本文为a13777731原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。