今天又是新的一天,今天给大家带来的是Python100天之day2
分支结构
此前我们接触的都是顺序结构都是一句一句运行的,现在我们要讲解有判断选择的结构也就是我们所说的分支结构
废话不多说,直接上道!!!
- 单分支:if···else结构
- 多分之:if···elif···else结构
接下来的都是一些例子
连续的代码如果又保持了相同的缩进那么它们属于同一个代码块,任意数量的空格,但通常使用4个空格!!!
接下来是给大家的例子
身份验证1.0
"""
用于用户验证
"""
user=input("请您输入用户名")
password=input("请您输入密码")
if user=='admin'and password=='123456':
print('验证成功!!!')
else:
print('用户名或者密码错误!请您重新输入')
身份验证2.0
"""
由于上面的身份验证,验证错误不能明确指出用户名错误还是密码错误,因此我们写下了下面一段那程序
"""
user=input("请您输入用户名")
password=input("请您输入密码")
if user=='jinhong'and password=='wyxx':
print('验证成功!!!')
elif user=='jinhong'and password!='wyxx':
print('密码错误!!请您重新输入密码')
else :
print('验证失败!!!请您重新输入用户名和密码')
分段函数
"""
分段函数求值
x + 1 (x > 1)
f(x) = x - 1 (-1 <= x <= 1)
x (x < -1)
"""
x=float(input("请输入一个数字x="))
if x>1:
y=x+1
elif x>=-1:
y=x-1
else:
y=x
print('f(%f) = %.1f' % (x, y))
"""
上述得代码也可以利用嵌套来写
如下所示
"""
x=float(input("请输入一个数字x="))
if x>1:
y=x+1
else:
if x>=1:
y=x-1
else:
y=x
print('f(%f)=%.2f' % (x,y))#之前忘记强调了x,y是有顺序之分的,若调换位置两者得结果就相反了
这里要强调以下我们赞成扁平化的编程,虽然嵌套是高级用法,但是我们代码讲究的是可读性,所以我赞成第一种写法!!!!!!!!!
习题:百分制成绩转换为等级制成绩。
- 要求:如果输入的成绩在90分以上(含90分)输出A;80分-90分(不含90分)输出B;70分-80分(不含80分)输出C;60分-70分(不含70分)输出D;60分以下输出E。
score=float(input('请输入你的成绩:'))
print("**********************Sunny&meng正在努力为您转化中**********************")
if score==100:
rank='SSS'
elif score>=90 :
rank='A'
elif score>=80:
rank='B'
elif score>=70:
rank='C'
elif score>=60:
rank='D'
else:
rank='E'
print('你的分数%f对应的等级制成绩为%s' % (score,rank))
输入三条边长,如果能构成三角形就计算周长和面积。
"""
判断输入的边长能否构成三角形,如果能则计算出三角形的周长和面积
"""
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
s = (p * (p - a) * (p - b) * (p - c)) ** 0.5
print('面积: %f' % (s))
else:
print('您输入的三个边长不能构成三角形')
习题:给你一个三角形的三条边,让你判断这个三角形是直角三角形还是钝角三角形,还是锐角三角形(前提是已经是三角形)
"""
这里我们默认a、b、c对应的角分别为A、B、C
"""
a=float(input('请输入第一条边的边长'))
b=float(input('请输入第二条边的边长'))
c=float(input('请输入第三条边的边长'))
cosA=(b**2+c**2-a**2)/(2*b*c)
cosB=(a**2+c**2-b**2)/(2*a*c)
cosC=(a**2+b**2-c**2)/(2*a*b)
if (a**2==b**2+c**2 or b**2==a**2+c**2 or c**2==b**2+a**2) or (cosA==0 or cosB==0 or cosC==0):
print('该三角形为直角三角形')
elif ((cosA<1 and cosA>0)and (cosB<1 and cosB>0) and (cosC<1 and cosC>0)):
print('该三角形是锐角三角形')
else:
print('该三角形是钝角三角形')
相信大家看完上述例子,已经对分支结构的代码写法已经完全掌握good luck!!!
越努力越幸运!!!!!!!!!