控制流程之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('其他。。。。。。。。。')
2break:直接终止本层循环
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
4while+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
5while+else
count = 0
while count < 6:
print(count)
if count == 3:
break
count+=1
else:
print('会在while循环正常死亡之后运行')

例子:

5while循环嵌套
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次吧。。。。

 

原文地址:https://www.cnblogs.com/Knge/p/13274689.html