python的代码块的处理:
1,python是通过缩进来区分代码块的
2,缩进通常是一个tab键(4个空格)
一、if的使用
条件语句:
if
if--else
if--elif--else
注意点:
一个条件语句中,必须一个if,else(0个或1个),elif(1个或多个)
# 考试成绩的等级评定: # 0-60:E # 60-70: D # 70-80: C # 80-90: B # 90-100:A score = int(input("请输入考试成绩:")) if 0 < score < 60: print("您的成绩为:E") elif 60 <= score < 70: print("您的成绩为:D") elif 70 <= score < 80: print("您的成绩为:C") elif 80 <= score < 90: print("您的成绩为:B") elif 90 <= score < 100: print("您的成绩为:A") else: print("您输入的成绩有误!!!") print("程序执行结束!")
二、while循环
while 条件:
循环体
break :强制跳出循环
continue:终止当前本轮循环,开启下一轮循环(执行到continue,直接回到条件判断的地方)
pass: 没有任何语义
while True --> 始终成立
# 需求1:打印100遍hello python n = 1 while n <= 100: print("这是第{}遍hello python".format(n)) n = n+1 print("循环结束!") # 需求2,登录案例,如果账号或者密码错误,那就重新输入 user = "zhangsan" pwd = "666" while True: username = input("请输入用户名:") password = input("请输入密码:") if user == username and pwd == password: print("恭喜登录成功!!!") # break 跳出循环 break else: print("账号或密码错误!") print("----------------------------------") # 需求3:通过循环去打印1-10,其中5不用打印 m = 0 while m < 10: m = m + 1 if m == 5: continue print(m)
三、for循环
for 变量 in 被遍历的数据:
循环执行的代码
可以被遍历的数据类型:字符串、列表、元组、字典、集合
内置函数len():获取数据的长度
for循环 (遍历循环)
li = [11, 22, 33, 44, 55, 66] print("列表的长度:", len(li)) # 6 # 遍历列表 li1 = [1, 2, 3, 4, 5, 6] for i in li1: print(i) # 1 2 3 4 5 6 # 遍历字符串 s = "hello python" for m in s: print(m) # h e l l o p y t h o n # 遍历元组 tu = (11, 22, 33, 44) for n in tu: print(n) # 11 22 33 44 # 遍历集合 set1 = {'aa', 'bb', 'cc', 'dd', 'ee'} for i in set1: print(i) # aa bb cc dd ee # 遍历字典(重点!!!) dic = {"name": "jack", "age": "18", "sex": "boy"} # 假如还是像上面那样直接遍历字典 for d in dic: print(d) # name age sex 只会遍历出字典中的key # 那么该如何进行遍历,遍历出键值对呢?items方法 for e in dic.items(): print(e) # ('name', 'jack')('age', '18')('sex', 'boy') # 遍历字典的key for a in dic.keys(): print(a) # name age sex # 遍历字典的value for b in dic.values(): print(b) # jack 18 boy
内置函数range
range(n) : 0 --- n
range(n,m): n --- m-1
range(n,m,k): n --- m-1 ,k为步长
# range的使用 # 可以这样生成一个列表 res = list(range(20)) print(res) # 打印结果为 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] # range(n) for i in range(10): # 打印 0-9 一共10条数据 print("这个是第{}遍i:hello python".format(i)) # range(n,m) for i in range(1, 10): # 打印 1-9 一共9条数据 print("这个是第{}遍i:hello python".format(i)) # range(n,m,k) for i in range(1, 10, 2): # 打印 1,3,5,7,9 一共5条数据 步长为2(也就是相差为2) print("这个是第{}遍i:hello python".format(i)) for i in range(1, 10, 3): # 打印 1,4,7 一共3条数据 步长为3(也就是相差为3) print("这个是第{}遍i:hello python".format(i))
for循环案例:注册
需求:实现一个注册的小程序代码,
1.用户输入账号id 密码pwd 再次确认密码pwd2
2.判断该账号是否已注册,已注册就打印账号被注册
3.判断两次密码是否一致,不一致,则打印两次密码不一致
4.上面两个判断都通过则注册成功(注册成功之后,需要将账号和密码保存到列表中)
users = [ {"uid": "xm01", "pwd": "001"}, {"uid": "xm02", "pwd": "002"}, {"uid": "xm03", "pwd": "003"}, ] id = input("请输入账号:") # 第一步 pwd = input("请输入密码:") pwd2 = input("请再次确认密码:") for m in users: if id == m['uid']: # 第二步 print("该账号已被注册!!!") break else: # 如果账号没有注册, print("该账号可以进行注册,继续判断密码") if pwd == pwd2: # 第三步 print("注册成功") users.append({"uid": id, "pwd": pwd}) # 第四步 else: print("两次输入的密码不一致!!!")
嵌套循环
循环嵌套的经典案例,就是这两个:打印三角形和九九乘法口诀表
# 循环嵌套,在测试工作中,不是很常用,只需了解即可,理清楚逻辑思维就行
# 需求,打印三角形小星星 for i in range(1, 7): for j in range(i): print("* ", end="") print() print("-------------------------------------------------")
# 需求:打印九九乘法口诀表 # for循环实现 for m in range(1, 10): for n in range(1, m+1): print("{} * {} = {}\t ".format(n, m, m*n), end="") print() print("-------------------------------------------------") # while实现: m = 1 while m <= 9: n = 1 while n <= m: s = m * n print("%d * %d = %d" % (n, m, s), end="\t") n += 1 print("") m += 1 print("-------------------------------------------------")