一、选择结构
例:使用嵌套的选择结构实现百分制成绩到等级制的转换。
>>> def func(score):
degree = 'DCBAAE'
if score > 100 or score < 0:
return 'wrong score.must between 0 and 100.'
else:
index = (score - 60)//10
if index >= 0:
return degree[index]
else:
return degree[-1]
二、循环结构
两种基本的循环结构语句——while和for。
- while循环一般用于循环次数难以提前确定的情况,也可以用于循环次数确定的情况。
- for循环一般用于循环次数可以提前确定的情况,尤其是用于枚举序列或迭代对象中的元素。
- 一般优先考虑使用for循环。
- 相同或不同的循环结构之间都可以互相嵌套,实现更为复杂的逻辑。
- for循环和while循环都可以带else。
三、break和continue语句
- break语句在while循环和for循环中都可以使用,一般与选择结构结合使用,一旦break语句被执行,将使得整个循环提前结束。
- continue语句的作用是终止当前循环,并忽略continue之后的语句,然后回到循环的顶端,提前进入下一次循环。
- 除非break语句让代码更简单或更清晰,否则不要轻易使用。
四、实验题、密码安全强度检测
实验目的:
(1)熟练使用分支结构
(2)掌握循环结构的使用
实验内容:
密码通常是由大写字母、小写字母、数字和符号构成的,现需要实现检查并判断密码字符串的安全等级的功能,密码的安全等级和字符串中包含的字符种类成这个相关。
(1)合法密码必须以字母开头,并且长度不小于6.
(2)密码字符串只包含一种字符,则密码等级为弱;
(3)密码字符串只包含两种字符,则密码等级为中;
(4)密码字符串只包含三种字符,则密码等级为较强;
(5)密码字符串只包含四种字符,则密码等级为强;
数据输入:
输入一个字符串(长度在1-100之间)不包含空格
数据输出:
输入示例:123 输出示例:不是合法的密码
输入示例:abC123 输出示例:较强
import string#引入string模块,使我们可以调用与字符串操作相关的函数
def examine(str):#定义属性
dig = string.digits
lower = string.ascii_lowercase
upper = string.ascii_uppercase
pun = string.punctuation
a = 0
b = 0
c = 0
k = 0
sum = 1
if ('a' <= x[0] <= 'z' or 'A' <= x[0] <= 'Z') and len(x) >= 6:#长度超过6
for s in str:
if s in