分支结构成绩判断
语法:
条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块,例如下图所示:
# 单分支
if 条件表达式1:
语句1
如果 条件表达式1 为 True 则执行 语句1
# 双分支
if 条件表达式1:
语句1
else:
语句2
如果 条件表达式1 为 True 则执行 语句1
否则则执行 语句2
# 多分支
if 条件表达式1:
语句1
elif 条件表达式2:
语句2
else:
语句3
如果 条件表达式1 为 True 则执行 语句1
如果条件不满足 条件表达式2 满足 则执行 语句2
如果条件1和条件2都不满足,则执行 语句3
注意:
- Python 中用 elif 代替了 else if,所以 if 语句的关键字为:if – elif – else。
- 每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
- 使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
- 缩进不能少,否则就不是分支结构的语句了。
- Python 中没有 switch – case 语句。
1. 分支结构成绩判断
将成绩转化为优良中差。
优秀 >=90
良好 >=80
中 >= 60
差 < 60
分析: 需要用到多重if结构来实现
1. 多重if
score = int(input('输入分数:'))
if score >= 90:
grade = '优秀'
elif score >= 80:
grade = '良好'
elif score >= 60:
grade = '中等'
else:
grade = '差'
print('%d分 %s' % (score,grade))
2. 三元表达式
score=int(input('输入分数:'))
# 三元表达式
a = '优秀' if score >= 90 else ('良好' if score >= 80 else ('中等' if score >= 60 else '差'))
print(a)
3. for循环
score= int(input('请输入成绩:'))
a= [90,80,60,0]
b= ['优秀','良好','中等','差']
for i in range (0,4):
if score >= a[i]:
print(b[i])
break
2. 猜数字游戏
数字猜谜游戏:
- 猜大了提示:猜的数字大了
- 猜小了提示:猜的数字小了
- 猜正确停止
分析:猜正确停止,那就是使用到while循环了。
number = 5
a = 0
print('欢迎进入猜数字游戏')
while a != number:
a = int(input('请输入你要猜的数字'))
if a == number:
print('恭喜你,猜对了')
elif a < number:
print('猜小了')
elif a > number:
print('猜大了')
else:
print('好好玩哦~')
3. 判断输入的字母为星期几
'''
周一 Monday
周二 Tuesday
周三 Wednesday
周四 Thursday
周五 Fri(Friday)
周六 Sat(Saturday)
周日 Sunday
'''
date = input("请输入第一个字母:")
if date == 'M':
print ('Monday')
elif date == 'T':
date = input("请输入第二个字母:")
if date == 'u':
print ('Tuesday')
elif date == 'h':
print ('Thursday')
else:
print ('输入有误~~~')
elif date == 'W':
print ('Wednesday')
elif date == 'F':
print ('Friday')
elif date == 'S':
date = input("请输入第二个字母:")
if date == 'a':
print ('Saturday')
elif date == 'u':
print ('Sunday')
else:
print ('输入有误~~~')
else:
print ('输入有误~~~')
4. 删除英语单词后缀 er ly ing结尾
a = input("请输入英文单词:")
if a[-2:] == 'er' or a[-2:] == 'ly': # a[-2:],从倒数第二个开始到最后
print(a[:-2]) # 从第一个输出 到 倒数第二个
elif a[-3:] =='ing':
print(a[:-3])
else:
print(a)
5. 登录验证(分支结构)
name = input("请输入用户名:")
pwd = input("请输入密码")
if name == "name":
if pwd == "123456":
print("登录成功!")
else:
print("密码错误!")
else:
print("登录名错误!")
6. 回文串(下标,分支结构)
str = input("请输入一个字符串:")
str2 = str[::-1]
print(str)
print(str2)
if(str == str2):
print("是回文串")
else:
print("不是回文串")
7. 身份证号码判断
num = input('请输入身份证号码:')
year = num[6:10]
# print(year)
month = num[10:12]
# print(month)
day = num[12:14]
# print(day)
a = int(num[16])
sex = '男'
length = len(num)
# print(length)
if length != 18:
print('输入有误~~~')
else:
if a % 2 == 0:
sex = '女'
print('{}年{}月{}日的{}生'.format(year,month,day,sex))
else:
print('{}年{}月{}日的{}生'.format(year,month,day,sex))