while与break的搭配使用之无限循环的打断
break的意思是“打破”,是用来结束循环的,一般写作if…break
while True:
p = input('请输入你的密码:')
if p == '123':
break
print('通过啦')
同样for …in也可以与break配合使用,表示在有限次数下的条件判断。例如:
for i in range(5):
print('这是我想你的第'+str(i)+'天')
if i==3: # 当i等于3的时候触发
break # 结束循环
print('----------------------------')
for i in range(5):
print('重复')
if i==3: # 当i等于3的时候触发
break # 结束循环
print('----------------------------')
for i in range(5):
print(i)
if i==3: # 当i等于3的时候触发
break # 结束循环
print('----------------------------')
这是我想你的第0天
这是我想你的第1天
这是我想你的第2天
这是我想你的第3天
----------------------------
重复
重复
重复
重复
----------------------------
0
1
2
3
----------------------------
循环与continue的搭配之跳回循环
常规操作
上实例:以下分别为while,for循环与continue的搭配
#while与continue
while True:
q1 = input('第一问:你一生之中,在什么地方最是快乐逍遥?')
if q1 != '黑暗的冰窖':
continue
print('答对了,下面是第二问:')
q2 = input('你生平最爱之人,叫什么名字?')
if q2 != '梦姑':
continue
print('答对了,下面是第三问:')
q3 = input('你最爱的这个人相貌如何?')
if q3 == '不知道':
break
print('都答对了,你是虚竹。')
------------------------------------------------
/
第一问:你一生之中,在什么地方最是快乐逍遥?
不知
第一问:你一生之中,在什么地方最是快乐逍遥?
大丰收
第一问:你一生之中,在什么地方最是快乐逍遥?
黑暗的冰窖
答对了,下面是第二问:
你生平最爱之人,叫什么名字?
戴假发
第一问:你一生之中,在什么地方最是快乐逍遥?
黑暗的冰窖
答对了,下面是第二问:
你生平最爱之人,叫什么名字?
梦姑
答对了,下面是第三问:
你最爱的这个人相貌如何?
不
第一问:你一生之中,在什么地方最是快乐逍遥?
黑暗的冰窖
答对了,下面是第二问:
你生平最爱之人,叫什么名字?
梦姑
第一问:你一生之中,在什么地方最是快乐逍遥?
梦姑
第一问:你一生之中,在什么地方最是快乐逍遥?
黑暗的冰窖
答对了,下面是第二问:
你生平最爱之人,叫什么名字?
梦姑
答对了,下面是第三问:
你最爱的这个人相貌如何?
不知道
都答对了,你是虚竹。
#for循环与continue
此举例是以上述故事为素材,该代码略有瑕疵,不过不影响我们认识,for循环与continue的关系
-------------------------------------------------------------------------------
for q1 in range(3):
q1 = input('第一问:你一生之中,在什么地方最是快乐逍遥?')
if q1 != '黑暗的冰窖':
continue
print('答对了,下面是第二问:')
for q2 in range(3):
q2 = input('你生平最爱之人,叫什么名字?')
if q2 != '梦姑':
continue
print('答对了,下面是第三问:')
for q3 in range(3):
q3 = input('你最爱的这个人相貌如何?')
if q3 == '不知道':
break
print('都答对了,你是虚竹。')
----------------------------------------------------------------------------------
第一问:你一生之中,在什么地方最是快乐逍遥?段时间看
第一问:你一生之中,在什么地方最是快乐逍遥?发神经的
第一问:你一生之中,在什么地方最是快乐逍遥?黑暗的冰窖
答对了,下面是第二问:
你生平最爱之人,叫什么名字?家看来是
你生平最爱之人,叫什么名字?道具卡
你生平最爱之人,叫什么名字?梦姑
答对了,下面是第三问:
你最爱的这个人相貌如何?办法计算
你最爱的这个人相貌如何?大家发牢骚
你最爱的这个人相貌如何?不知道
都答对了,你是虚竹。
>>>
可以看到continue的作用就是就是当某个条件为真时,又提前回到循环,而不会执行下面的代码
小练习之与上例区别
secret = 24 #设定秘密数字
while True:
guess = input('你来猜猜我的秘密数字是多少:') #输入猜测数字
if int(guess)==secret: #数字对比
print('正确!你很棒哦。')
break
elif int(guess)>secret:
print('你猜的太大了,请重新猜猜~')
else:
print('你猜的太小了,请重新猜猜~')
--------------------------------------------------------------------
你来猜猜我的秘密数字是多少:22
你猜的太小了,请重新猜猜~
你来猜猜我的秘密数字是多少:21
你猜的太小了,请重新猜猜~
你来猜猜我的秘密数字是多少:26
你猜的太大了,请重新猜猜~
你来猜猜我的秘密数字是多少:27
你猜的太大了,请重新猜猜~
你来猜猜我的秘密数字是多少:24
正确!你很棒哦。
可以看到,有很多不同而又相同的地方,单问题与多问题,单循环与多循环,还有continue的位置,我们可以进行对比学习
对比
number=23
for i in range(3):
guess=int(input('猜猜我想的啥,你只有三次机会哦\n'))
if guess==number:
print('猜对哈')
break
elif int(guess)<23:
print('猜小了哦,宝贝')
elif int(guess)>23:
print('猜大了哦,宝贝')
else:
print('哎呀失败啦,没关系,我再给你一次机会猜一下吧')
for i in range(1):
guess1=int(input('猜猜我想的啥,你只有这一次机会哦\n'))
if guess1==number:
print('宝贝,猜对啦')
else:
print('哎呀,失败了')
--------------------------------------------------------------------
猜猜我想的啥,你只有三次机会哦
56
猜大了哦,宝贝
猜猜我想的啥,你只有三次机会哦
11
猜小了哦,宝贝
猜猜我想的啥,你只有三次机会哦
55
猜大了哦,宝贝
哎呀失败啦,没关系,我再给你一次机会猜一下吧
猜猜我想的啥,你只有这一次机会哦
24
哎呀,失败了
secret = 24
for i in range(3):
guess = input('guess which number is my secret:')
if int(guess) ==secret:
print('正确!你很棒哦。') #输出结果
break
elif int(guess)>secret:
print('你猜的太大了,请重新猜猜~')
else:
print('你猜的太小了,请重新猜猜~')
else: #多注意该else的位置用法
print('给你3次机会都猜不到,你失败了。')
-----------------------------------------------------------------
guess which number is my secret:11
你猜的太小了,请重新猜猜~
guess which number is my secret:1
你猜的太小了,请重新猜猜~
guess which number is my secret:11
你猜的太小了,请重新猜猜~
给你3次机会都猜不到,你失败了。