大数跨境
0
0

Python的分支结构(含练习题+答案)

Python的分支结构(含练习题+答案) 码途钥匙
2024-06-15
1
导读:Python的分支结构(含练习题+答案)

点击上方 [蓝字] 关注我们

if语句的使用


在Python中,要构造分支结构可以使用if、elif和else关键字。所谓关键字就是有特殊含义的单词,像if和else就是专门用于构造分支结构的关键字,很显然你不能够使用它作为变量名(事实上,用作其他的标识符也是不可以)。下面的例子中演示了如何构造一个分支结构。

"""用户身份验证
Version: 0.1"""username = input('请输入用户名: ')password = input('请输入口令: ')# 用户名是admin且密码是123456则身份验证成功否则身份验证失败if username == 'admin' and password == '123456': print('身份验证成功!')else: print('身份验证失败!')


需要说明的是和C/C++、Java等语言不同,Python中没有用花括号来构造代码块而是使用了缩进的方式来表示代码的层次结构,如果if条件成立的情况下需要执行多条语句,只要保持多条语句具有相同的缩进就可以了。换句话说连续的代码如果又保持了相同的缩进那么它们属于同一个代码块,相当于是一个执行的整体。缩进可以使用任意数量的空格,但通常使用4个空格,建议大家不要使用制表键或者设置你的代码编辑工具自动将制表键变成4个空格。


"""分段函数求值
3x - 5 (x > 1)f(x) = x + 2 (-1 <= x <= 1) 5x + 3 (x < -1)
Version: 0.1"""
x = float(input('x = '))if x > 1: y = 3 * x - 5elif x >= -1: y = x + 2else: y = 5 * x + 3print('f(%.2f) = %.2f' % (x, y))



当然如果要构造出更多的分支,可以使用if...elif...else...结构或者嵌套的if...else...结构,下面的代码演示了如何利用多分支结构实现分段函数求值。

"""分段函数求值    3x - 5  (x > 1)f(x) =  x + 2  (-1 <= x <= 1)    5x + 3  (x < -1)
Version: 0.1"""
x = float(input('x = '))if x > 1: y = 3 * x - 5else: if x >= -1: y = x + 2 else: y = 5 * x + 3print('f(%.2f) = %.2f' % (x, y))


当然根据实际开发的需要,分支结构是可以嵌套的,例如判断是否通关以后还要根据你获得的宝物或者道具的数量对你的表现给出等级(比如点亮两颗或三颗星星),那么我们就需要在if的内部构造出一个新的分支结构,同理elif和else中也可以再构造新的分支,我们称之为嵌套的分支结构,也就是说上面的代码也可以写成下面的样子。


"""分段函数求值    3x - 5  (x > 1)f(x) =  x + 2  (-1 <= x <= 1)    5x + 3  (x < -1)
Version: 0.1"""
x = float(input('x = '))if x > 1: y = 3 * x - 5else: if x >= -1: y = x + 2 else: y = 5 * x + 3print('f(%.2f) = %.2f' % (x, y))




说明: 大家可以自己感受一下这两种写法到底是哪一种更好。在之前我们提到的Python之禅中有这么一句话“Flat is better than nested.”,之所以提倡代码“扁平化”是因为嵌套结构的嵌套层次多了之后会严重的影响代码的可读性,所以能使用扁平化的结构时就不要使用嵌套。


01


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

"""英制单位英寸和公制单位厘米互换
Version: 0.1"""value = float(input('请输入长度: '))unit = input('请输入单位: ')if unit == 'in' or unit == '英寸': print('%f英寸 = %f厘米' % (value, value * 2.54))elif unit == 'cm' or unit == '厘米': print('%f厘米 = %f英寸' % (value, value / 2.54))else: print('请输入有效的单位')



02


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

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


"""百分制成绩转换为等级制成绩
Version: 0.1"""score = float(input('请输入成绩: '))if score >= 90: grade = 'A'elif score >= 80: grade = 'B'elif score >= 70: grade = 'C'elif score >= 60: grade = 'D'else: grade = 'E'print('对应的等级是:', grade)




03


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

"""判断输入的边长能否构成三角形,如果能则计算出三角形的周长和面积
Version: 0.1"""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('周长: %f' % (a + b + c)) p = (a + b + c) / 2 area = (p * (p - a) * (p - b) * (p - c)) ** 0.5 print('面积: %f' % (area))else: print('不能构成三角形')



说明: 上面使用的通过边长计算三角形面积的公式叫做海伦公式


  • 关注公众号
    后台留言“学习”获取更多干货哦




【声明】内容源于网络
0
0
码途钥匙
欢迎来到 Python 学习乐园!这里充满活力,分享前沿实用知识技术。新手或开发者,都能找到价值。一起在这个平台,以 Python 为引,开启成长之旅,探索代码世界,共同进步。携手 Python,共赴精彩未来,快来加入我们吧!
内容 992
粉丝 0
码途钥匙 欢迎来到 Python 学习乐园!这里充满活力,分享前沿实用知识技术。新手或开发者,都能找到价值。一起在这个平台,以 Python 为引,开启成长之旅,探索代码世界,共同进步。携手 Python,共赴精彩未来,快来加入我们吧!
总阅读181
粉丝0
内容992