23 24 25 py中break和continue 循环中的else语句 exec和eval函数

第十课 跳出循环(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)

猜你喜欢

转载自blog.51cto.com/12445535/2464077