流程控制day4
今日学习内容:
一、for 嵌套
例子一:输出九九乘法表
下面的图中: \t 表示一个tab键
例子二:输出 ******
******
****** 这中图案
for i in range(3): for j in range(6): print('*', end='') print()
一、for与break, for与continue
例子:0~15中,不打7和8以后的数字
for i in range(0, 16): if i == 7: continue # 跳过本次循环,不打印print 直接执行下一次循环 elif i == 9: break # i 等于9时 就结束for循环遍历。 print(i) # for循环正常执行结束,就会执行else对应的代码块 # 非正常结束,例如break打断,就不会执行
代码结果
0
1
2
3
4
5
6
8
二、while 嵌套 和 break的使用
案例一:用户输入用户名,密码。若都输入正确,则显示登录成功,并结束输入。总共有三次输入机会,若三次都不正确,则显示登录失败,并结束输入。
实现方法一:
count = 0 name = 'sean' word = '18' #这是整数int型。这里加引号 或者下面的输入 加int() while count < 3: username = input('请输入您的用户名:') password = input('请输入您的密码:') #这是字符串str型 if username == name and password == word: print('登录成功') break else: print('登录失败') count +=1 注意:数据类型要保持一致
实现方法二:
count = 0
name = 'sean'
word = '18'
while True:
username = input('请输入您的用户名:')
password = input('请输入您的密码:')
if username == name and password == word:
print('登录成功')
break
else:
count +=1
if count == 3:
print('登录失败')
break
案例二: 优化案例一。若三次都不正确,则显示登录失败,并锁住账号,并结束输入。
count = 0 name = 'sean' word = '18' while count < 3: username = input('请输入您的用户名:') password = input('请输入您的密码:') if username == name and password == word: print('登录成功') break else: print('登录失败') count +=1 if count == 3: print('锁定账户') break 问:不加也行呀? count = 0 name = 'sean' word = '18' while count < 3: username = input('请输入您的用户名:') password = input('请输入您的密码:') if username == name and password == word: print('登录成功') break else: print('登录失败') count +=1 if count == 3: 问:if写在外面一样呀? 其实在此题中一样,但是本质上不一样。 print('锁定账户')
案例三:while True 是真条件,会一直循环,只能用break来结束循环
count = 0 name = 'sean' word = '18' while True: username = input('请输入您的用户名:') password = input('请输入您的密码:') if username == name and password == word: print('登录成功') break else: print('登录失败') count +=1 注意: 因为 while True 永远为真,所有一直会让输入。count 没有作用了。外,下面的if语句也没有了作用 if count == 3: print('锁定账户')
注:只能有break 结束 while True
count = 0
name = 'sean'
word = '18'
while True:
username = input('请输入您的用户名:')
password = input('请输入您的密码:')
if username == name and password == word:
print('登录成功')
break
else:
count +=1
if count == 3:
print('登录失败')
break
案例四:升级案例一。登录成功后,执行指令操作,若用户输入exit指令,就结束输入。
实现方法一:
count = 0 name = 'sean' word = '18' while True: username = input('请输入您的用户名:') password = input('请输入您的密码:') if username == name and password == word: print('登录成功') while True: # 因为一直是真值,所有一直让执行指令. cmd = input('请输入您的指令:') if cmd == 'exit': break # break 结束离他最近的循环.这时候只是结束了 while 下面的 cmd 输入语句 break # 这里的break 结束的是 最上面的 while 下面的 username和password 输入 else: count +=1 if count == 3: print('登录失败') break
实现方法二:
count = 0
name = 'sean'
word = '18'
tag = True
while tag:
username = input('请输入您的用户名:')
password = input('请输入您的密码:')
if username == name and password == word:
print('登录成功')
while tag: # 这时候tag是一个bool值,是可以变的.
cmd = input('请输入您的指令:')
if cmd == 'exit':
tag = False # 这里把False 赋给tag 是把bool值给改变了。所有while 下面的输入语句就结束了
else:
count +=1
if count == 3:
print('登录失败')
break # 这里的break 可以换成语句 tag=False 或者不换。如果这里没有break 或者 没有把tag改成 假的布尔值,则最上面的 while 下面的输入语句还会执行
三、if循环、判断、嵌套
例子:if嵌套。判断真假时,用is_xxx 来当变量 ,并接受真或假的布尔值
gender = 'female' is_beautiful = True is_success = True age = int(input("请问您的年龄:")) if gender == 'female' and 24 > age > 18 and is_beautiful: print("小姐姐,给个微信") if is_success: print("在一起") else: print('打扰了')
四、range 生成器
1.顾头不顾尾
2.要素:start stop sep (头、尾、步长),步长为负数,说明反着来
五、字典内置方法
d1 = {'a':1, 'b':2, 'c':3} for i in d1: print(d1[i]) #表示 取键对应的 值 print(i) #表示 取键
。