乐愚社区Beta

 编程语言  >  咸鱼的Python学习日志03_分支结构

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

爱学习的咸鱼君  L0  • 2021-01-19 • 回复 0 • 只看楼主举报    

应用场景

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

if语句的使用

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

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

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

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

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

多分支的分段函数处理

$$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}$$

"""
分段函数求值
        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))

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

"""
分段函数求值
        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))

练习

练习一

英制单位英寸与公制单位厘米互换。 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('单位无效!')

练习二

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

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

练习三

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

"""
判断输入的边长能否构成三角形,如果能则计算出三角形的周长和面积
"""
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('不能构成三角形')


还没注册帐号?快来注册社区帐号,和我们一起嗨起来!
关于本社区

集各类兴趣爱好于一身的轻量化交流社区,在此您可以和他人一起分享交流您觉得有价值的内容,社区鼓励大家发表原创内容,为社区添砖加瓦!

发帖奖励 → 社区版规 → 招聘版主 →
推荐版块
扫描二维码下载社区APP
回到顶部