控制流程之while循环, for循环

条件循环:while,语法如下
while 条件:    
    # 循环体
 
    # 如果条件为真,那么循环体则执行,执行完毕后再次循环,重新判断条件。。。
    # 如果条件为假,那么循环体不执行,循环终止
死循环
基本使用1:
print('start.....')
while 10 < 3:
    print('hello1')
    print('hello2')
    print('hello3')

print('end....')
View Code

 

基本使用2:
count = 0
while count < 6:  # 6 < 6
    print(count)
    count += 1

print('end.....')

 

1、基本使用:
db_name = "egon"
db_pwd = "123"

while True:
    inp_name = input("请输入您的用户名: ")
    inp_pwd = input("请输入您的密码: ")

    if inp_name == db_name and inp_pwd == db_pwd:
        print("用户登录成功")
    else:
        print("用户账号或密码错误")

 

2、如何结束while循环
1)把条件改为False
db_name = "egon"
db_pwd = "123"

tag = True
while tag:
    inp_name = input("请输入您的用户名: ")
    inp_pwd = input("请输入您的密码: ")

    if inp_name == db_name and inp_pwd == db_pwd:
        print("用户登录成功")
        tag = False
    else:
        print("用户账号或密码错误")

    print('其他。。。。。。。。。')
(2)break:直接终止本层循环
db_name = "egon"
db_pwd = "123"

while True:
    inp_name = input("请输入您的用户名: ")
    inp_pwd = input("请输入您的密码: ")

if inp_name == db_name and inp_pwd == db_pwd:
print("用户登录成功")
break
    else:
print("用户账号或密码错误")

print('其他。。。。。。。。。')

 

 

循环嵌套

while True:
    while True:
        while True:
            break
        break
    break     
    


tag = True
while tag:
    while tag:
        while tag:
            tag = False
3、死循环
while True:
    # print('Hello')
    # input(">>: ")
1+1
4、while+continue: 终止本次循环
强调1:不要在continue之后编写同级别的代码
count = 0
while count < 6: # 5 < 6
if count == 3
or count == 4:
        count += 1
continue
# count+=1 # 不要写在这里
print(count)
    count += 1

 

强调2: 如果不想执行本次循环之后的代码,可以用continue,但是如果本次循环本来就没有要继续运行的后续代码了,就没必要加continue
db_name = "egon"
db_pwd = "123"

while True:
    inp_name = input("请输入您的用户名: ")
    inp_pwd = input("请输入您的密码: ")

if inp_name == db_name and inp_pwd == db_pwd:
print("用户登录成功")
break
    else:
print("用户账号或密码错误")
# continue
5、while+else
count = 0
while count < 6:
    print(count)
    if count == 3:
        break
count+=1
else:
    print('会在while循环正常死亡之后运行')

 

例子:

5、  while循环嵌套
db_name = "egon"
db_pwd = "123"

while True:
    inp_name = input("请输入您的用户名: ")
    inp_pwd = input("请输入您的密码: ")

    if inp_name == db_name and inp_pwd == db_pwd:
        print("用户登录成功")

        while True:
            print("""
            0 退出
            1 取款
            2 提现
            3 转账
            """)
            cmd=input("请输入您的命令编号:")
            if cmd == "0":
                break
            elif cmd == "1":
                print("正在取款")
            elif cmd == "2":
                print("正在提现")
            elif cmd == "3":
                print("正在转账")
            else:
                print("不知道的指令,请重新输入")
        break
    else:
        print("用户账号或密码错误")

tag的方式结束循环
db_name = "egon"
db_pwd = "123"

tag = True
while tag:
    inp_name = input("请输入您的用户名: ")
    inp_pwd = input("请输入您的密码: ")

    if inp_name == db_name and inp_pwd == db_pwd:
        print("用户登录成功")

        while tag:
            print("""
            0 退出
            1 取款
            2 提现
            3 转账
            """)
            cmd=input("请输入您的命令编号:")
            if cmd == "0":
                tag = False
            elif cmd == "1":
                print("正在取款")
            elif cmd == "2":
                print("正在提现")
            elif cmd == "3":
                print("正在转账")
            else:
                print("不知道的指令,请重新输入")


    else:
        print("用户账号或密码错误")


count = 2
x = 0
while count <= 100:
    if count % 2 == 0:
        x = x + count
    else:
        x -= count
    count += 1
print(x)

 

for  循环

1for循环主要用于循环取值,例如列表、字典、字符串
2for循环循环的次数取决于值的个数
while循环循环的次数取决条件什么时候变为False或者什么时候执行break

 

一:基本使用

l = [1111, 222, 333, 444, 555]

i = 0
while i < len(l):
print(l[i])
    i += 1

for x in l:
print(x)


d = {"k1": 111, "k2": 2222, "k3": 33333}
for k in d:
print(k,d[k])


msg="hello world"
for x in msg:
print(x)


l = [["aaa", 1111], ["bbb", 2222], ["ccc", 3333]]
for x, y in l:  # x,y=["aaa",1111]
print(x, y)

二:for + break
for x in [111,222,333,4444,555]:
  if x == 333:
    break
  print(x)


三:for + continue
for x in [111,222,333,4444,555]:
  if x == 333:
    continue
  print(x)

 



四:for + else
for x in [111,222,333,4444,555]:
  if x == 333:
    break
  print(x)
  else:
  print('=====>')

上节课我们已经学会用if .. else 来猜年龄的游戏啦,但是只能猜一次就中的机率太小了,如果我想给玩家3次机会呢?就是程序启动后,玩家最多可以试3次,这个怎么弄呢?你总不会想着把代码复制3次吧。。。。

 

posted @ 2020-07-09 17:02  π陈少π  阅读(87)  评论(0编辑  收藏