while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环,此外"判断条件"还可以是个常值,表示循环必定成立
#语法格式一:
while 条件表达式:
#语法格式二:
while 条件表达式:
break
#语法格式三:
while 条件表达式:
continue
break
#语法格式四:
while 条件表达式:
else:
注:else 可以在while和for循环中运用,else和while或for搭配使用,不再是条件判断的含义。而是当
while条件不成立时,直接跳出while循环,执行else
。换句话说,如果我们不是除正常以外的其他方式退出循环,那么else分支将被执行。也就是在循环体内没有break语句、没有return语句,或者没有异常出现。
Python循环中的 break语句,就像在C语言中,打破了最小封闭for或while循环。
break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。
break语句用在while和for循环中。
如果您使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。
print
(
'
你输入的名字是:
'
,name)
if
name==
'
quit
'
:
break
#
结束循环,在循环里面遇到break,不管还有多少次循环,立即结束整个循环
count+=1
continue事例代码
Python continue 语句跳出本次循环,而break跳出整个循环。
continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。
continue语句用在while和for循环中。
i = 2
while i > 0:
print('ok')
i -= 1
else:
print('no')
#执行结果
ok
ok
no
#-------------------------------------------
i = 2
while i > 0:
print('ok')
i -= 1
if i == 1:
break
else:
print('no')
#执行结果
ok
#----------------------------------------------
while None:
print("None")
else:
print("else")
#执行结果
猜数字游戏
猜数字的游戏,要求是这样,产生一个随机数字,1-100之间,接收用户输入,如果猜对了,游戏结束,猜大了,提示猜大了,小了提示猜小了。产生随机数模块使用random.randint(1,101),是一个标准包,导入使用即可,代码如下:
import random
num = random.randint(1, 100) # 随机产生的数字
count = 0
while count < 7:
count += 1
guess = int(input('请猜一个数:')) # 转成int类型
if guess > num:
print('大了')
continue
elif guess == num:
print('对了')
break
else:
print('小了')
continue
else:
print('错误次数过多')
求1-2+3-4+5...100的所有数的和。程序流程图如下:
n = 1
s = 0 #s是之前所有数的和
while n <= 100:
if n % 2 == 0:
s = s - n
else:
s = s + n
n = n + 1
print(s)
键盘输入一个整数,判断是否为质数(素数)。程序流程图如下:
digit = temp % 10 #digit取得temp位数的最后位
sum += digit ** 3
temp //= 10 #逐渐将个、十、百的位数去掉
# 输出结果
if num == sum:
print(num,"是水仙花数")
else:
print(num,"不是水仙花数")
判断阿姆斯特朗数:如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。
# Python 检测用户输入的数字是否为阿姆斯特朗数
#如:1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407,1634 , 8208 , 9474
# 获取用户输入的数字
num = int(input("请输入一个数字: "))
# 初始化变量 sum
sum = 0
# 每位数需要的指数
n = len(str(num))
temp = num
while temp > 0:
digit = temp % 10 #digit取得temp位数的最后位
sum += digit ** n
temp //= 10 #逐渐将个、十、百的位数去掉
# 输出结果
if num == sum:
print(num,"是阿姆斯特朗数")
else:
print(num,"不是阿姆斯特朗数")