今日学习内容:
一、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 = 0name = '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 = 0name = '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 = 0name = 'sean'word = '18'tag = Truewhile 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) #表示 取键