第四章(二) while循环补充+for循环理解+练习
目录
while循环
while基本理解
# 语法结果
"""
while 条件:
条件成立之后循环执行的子代码块
"""
# count = 0
# while count < 3:
# username = input('请输入用户>>>:')
# passwd = input('请输出密码>>>:')
# if username == 'jason' and passwd == 123:
# print('success')
# break
# else:
# print('请重新输入')
# print('当前输错%d次' %(count+1))
# count +=1
while + break
# while + break
# count = 0
# while count < 3:
# username = input('请输入用户>>>:')
# passwd = input('请输出密码>>>:')
# if username == 'fq' and passwd == '234':
# print('success')
# while True:
# # 判断用户是否想退出
# cmd = input('请输入您的指令>>>:')
# if cmd == 'q':
# break # 结束小循环
# print('正在执行您的指令:%s' %cmd)
# break # 结束大循环
# else:
# print('请重新输入')
# print('当前输错%d次' %(count+1))
# count +=1
while+if习题练习
# 习题1.用户可以有三次猜错的机会 过程中猜对直接退出
count = 3
age = 70
while count > 0:
tmp = input('一起过来猜数字>>>:')
tmp = int(tmp)
if tmp == age:
print('恭喜猜对了!')
break
else:
print('还可以再试%d次' %(count-1))
count -=1
print('游戏结束')
# 习题2.三次机会用完,提示是否选择继续,如果是啧再给三次机会
again = True # 大循环条件
age = 70
count = 3 # 小循环条件
# 开始进入循环,只要again不是False,循坏就不会停止,内部嵌套小循环。
while again:
# 循环条件 count = 3 循环三次
while count > 0:
tmp = input('来猜:')
tmp = int(tmp)
if tmp == age:
print('猜对了,游戏结束。')
again = False
break
else:
print('还可以再试%d次' %(count-1))
count -= 1
# 小循环结束了,此时在答错答案 就是 again 还是True的情况下 进行判断
if again:
print('再来三次?是选1,否2')
choose = input('选择1或者2')
choose = int(choose)
# 小循环的判断条件为count > 0,此时选择1的话,就是count + 3 小循环再循环3次
if choose == 1:
count +=3
# 选2 就是把大循环的判断条件改为False
elif choose == 2:
again = False
break
else:
print('1 or 2')
# 上面的是我笨比的解法
count = 3
age = 10
while count > 0:
count -=1
tmp = int(input('输入:'))
if tmp > 10:
print('大了')
elif tmp < 10:
print('小了')
else:
print('✔了')
break
if count == 0:
again = input('yes or no:')
if again == 'yes':
count = 3
else:
print('gg')
while循环补充
while + continue
# 循环打印0-10,跳过打印4
# a = 0
# while a < 11:
# if a == 4:
# a += 1
# continue
# print(a)
# a += 1
x = 0
while x < 11:
if x != 4:
print(x)
x += 1
while + else
count = 0
while count < 5:
print(count)
count += 1
else:
print('heihei')
count = 0
while count < 5:
if count == 3:
break
print(count)
count += 1
else:
print('heihei')
'''
当while循环没有被认为中断(break)的情况下才会走else
'''
while死循环
while True:
print(1)
'''
死循环会让CPU跑起来,温度上去了,久了就能换电脑了
'''
for循环
for循环字符串
'''
for 变量名 in 可迭代对象: # 字符串、列表、字典
'''
name_list = ['jason', 'tony', 'kevin', 'jack', 'xxx']
# 循环取出列表的每一个元素并打印
# while实现
# a = 0
# while a < 5:
# print(name_list[a])
# a += 1
name_list = ['jason', 'tony', 'kevin', 'jack', 'xxx']
for i in name_list:
print(i)
for循环字典
# 字典暴露在外的只是k值
d = {'username': 'lf', 'pwd': 123, 'hobby': 'read'}
for k in d:
print(k, d[k])
关键词range
!!!!注意:在Python2.x.x的版本中range会直接生成一个列表
在Python2.x.x中有个xrange也是迭代器(贱骨头,打一下动一下)(约等于python3.x的range)
在Python3.x中range是迭代器(贱骨头,打一下动一下) 好处:节省空间
# 第一种:一个参数 从0开始 顾头不顾尾
for i in range(10):
print(i)
# 第二种:两个参数 自定义起始位置 顾头不顾尾
for i in range(4, 10):
print(i)
4,5,6,7,8,9
# 第三种:三个参数 !!!第三个数字‘10’用来控制等差值的
for i in range(2, 100, 10):
print(i)
for+break
break :结束本层循环
for i in range(10):
if i == 4:
break
print(i)
for+continue
continue :结束本次循环
for i in range(10):
if i == 4:
coutinue
print(i)
for+else
else也是在for循环正常结束的情况下才会执行
for i in range(10):
if i == 4:
break
print(i)
else:
print('你追我!!!')
for循环嵌套
for i in range(1, 4):
for j in range(1, 4):
print(i, j)
# 1 1,1 2, 1 3, 2 1, ...
# 9*9乘法表
for i in range(1,10):
for j in range(1, i + 1):
print('%s*%s=%s' % (i, j, i * j), end=' ')
print()