第四章(二) while循环补充+for循环理解+练习

while循环

image

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是迭代器(贱骨头,打一下动一下) 好处:节省空间
image

#	第一种:一个参数 从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)
    
    

image

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()

image

posted @ 2021-11-05 16:44  hai起奈  阅读(124)  评论(0编辑  收藏  举报