第十课 跳出循环(break和continue)
break :退出整个循环 不执行循环下面的其他语句
continue:忽略continue后面的所有的语句 然后会转向执行下一次的循环 也就是会执行下面的语句的
# coding:utf-8
x = 0
while x < 12:
print(x,end = ‘,‘)
x +=1
# 结果Wie : 0,1,2,3,4,5,6,7,8,9,10,11,
print()
y = 0
while y < 12:
if y == 5:
break; #直接当 y == 5的时候跳出了循环了 不执行下面的语句了
print(y,end = ‘,‘) #结果Wie 0,1,2,3,4,
y +=1
print()
names = ["Bill", "Mike", "Mary"]
for name in names:
if not name.startswith("B"): #如果不已B开头
break;
print(name)
print("-----------------")
for name in names:
if name.startswith("B"):
continue;
print(name) # 结果为 Mike Mary 就是第一个Bill 是B 开头的,满足条件,就不输出了 continue 进行执行下一个
# 嵌套循环
print()
arr1 = [1,2,3,4,5,6]
arr2 = ["Perl", "Java", "Python", "CSharp"]
i = 0
while i < len(arr1):
for lang in arr2:
if lang == "Python":
#break; #结果为输出6次Perl Java 从Python之后的都不包含
continue; #输出6次 Perl Java CSharp 不包含Python
print(lang, end = " ")
print()
i += 1
——————————————————————————————————————————————————————————————————————————————
第11课 循环中的else语句
# 循环中的else语句
# 循环中的else语句仅仅在while或for循环正常退出时执行
# 在其他的语言都没有,之后python有 else不光之和 if 搭配
import random # 导入随机的模块
x = 0
while x < 10:
x += 1
if x == random.randint(1,20): # 我们产生一个随机数 1到20
print(x)
break;
if x == 10:
print("循环正常结束")
else:
print("循环通过break退出")
x = 0
while x < 10:
x += 1
if x == random.randint(1,20):
print(x)
break;
else:
print("循环正常结束(没有使用break)")
numbers = [1,2,3,4,5,6]
for number in numbers:
if number == random.randint(1,12):
print(number)
break;
else:
print("正常退出for循环")
————————————————————————————————————————————————————————————————
第12课 使用exec和eval函数 # 使用exec和eval函数动态执行Python代码
# 使用exec和eval函数动态执行Python代码
# python中的eval 和 JavaScript eval 效果一样
‘‘‘
i = 1
exec(‘i = 10‘)
exec(‘i *= 2‘)
exec(‘print(i)‘) # 可以链接上下文的 结果为 20
print("i = " + str(i))
from random import randint // 导入产生随机数的函数 randint
print(randint(1,20)) // 产生1~20的随机数 包括1 和 20
exec(‘randint = 30‘)
# print(randint(1,20))
‘‘‘
# 写一个类似python 控制台的代码
codes = ""
while True:
code = input(">>>")
if code == "":
exec(codes)
codes = ""
continue # 通过这个 continue 忽略后面的所有的代码
codes += code + "\n"
"""
>>>i = 2
>>>j = 3
>>>print(i + j)
>>>a = i + j
>>>print(a)
>>>
5
5 # 这就是结果
"""
-------------------
eval 用来执行表达式 既然是表达式 那么就会有返回值
exec 是用来执行语句的 语句是没有返回值的
# 输入控制台 代码
i = 20
print(eval(‘i == 40‘))
while True:
code = input(">>>")
if code == "exit":
break;
exec(code)
原文地址:https://blog.51cto.com/12445535/2464077