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)
相關文章
相關標籤/搜索