day5 分支循環(huán)及練習(xí)

三目表達式

語法:
表達式1 `?` 表達式2 `:` 表達式3         # C、java、js、Object-C 語言
表達式2 `if `表達式1 `else` 表達式3     # python 語言
  • 運算規(guī)則:判斷表達式1的結(jié)果是否為真,若為真,則結(jié)果為表達式2,否則結(jié)果為表達式3
a = 30 if 10 > 20 else 40
print(a)
# 顯示內(nèi)容
40

循環(huán)中的關(guān)鍵字

continue
  • 只能在循環(huán)中使用
  • 在執(zhí)行循環(huán)過程中出現(xiàn)continue,則當(dāng)次循環(huán)結(jié)束,直接進入下次循環(huán)的判斷
for x in range(5):
    print(x,end = ' ')
    continue          #結(jié)束當(dāng)次循環(huán)
    print('=======')  #未參與循環(huán)
# 顯示內(nèi)容
0 1 2 3 4
# 求1-19中奇數(shù)的和的和
sum1 = 0  
for x in range(20):
    if x % 2 == 0:
        continue
    sum1 += x
print(sum1)
# 顯示內(nèi)容
100
break
  • 只能在循環(huán)中使用
  • 在執(zhí)行循環(huán)過程中出現(xiàn)break,則所有循環(huán)結(jié)束
for x in range(5):
    print(x)
    break              #結(jié)束循環(huán)
    print('=======')   #未參與循環(huán)
# 顯示內(nèi)容
0
else
  • 循環(huán)結(jié)構(gòu)后加else不會影響原循環(huán)結(jié)構(gòu)的執(zhí)行
  • 如果else關(guān)聯(lián)的循環(huán)是自然死亡,則執(zhí)行else代碼塊
  • 如果else關(guān)聯(lián)的循環(huán)由break結(jié)束,則不執(zhí)行else代碼塊
語法:
for 變量 in序列:
    循環(huán)體
else:
    代碼塊
    
while 條件語句:
    循環(huán)體
else:
    代碼塊
# 判斷質(zhì)素
num  = int(input('請輸入一個數(shù):'))
for a in range(2,num):
    if num % a == 0:
        print(num,'不是質(zhì)素')
        break
else:
    print(num,'是質(zhì)素')
# 顯示內(nèi)容
請輸入一個數(shù):151
151 是質(zhì)素

如何選擇for while

  • 循環(huán)次數(shù)不確定時使用while
  • 循環(huán)次數(shù)確定時使用for

練習(xí)

# 練習(xí)一 猜數(shù)游戲
from random import randint
a = randint(0,9)
for b in range(0,10):
    num = int( input( '請輸入一個數(shù):' ) )
    if num == a:
        print('恭喜你猜對了,游戲結(jié)束!')
        break
    elif num < a:
        print('小了,大點')
        continue
    else:
        print('大了,小點')
        
# 練習(xí)二 斐波那契數(shù)列
n = int(input('請輸入第幾項:'))
num_1 = 1
num_2 = 1
for i in range(0, n - 2):
    temp = num_1 + num_2
    num_1 = num_2
    num_2 = temp
print(num_2)

# 練習(xí)三 乘法口訣表
for a in range(1,10):
    for b in range(a,10):
        c = a * b
        print(a,'*',b,'=',c,end=' ')
        if b == 9:
            print(' ')

# 練習(xí)四 百馬百擔(dān)問題
for x in range(0,100):
    for y in range( 0, 100 ) :
        for z in range( 0, 100 ) :
            if 3 * x + 2 * y + 0.5 * z == 100 and x + y + z == 100:
                print('大馬',x,'只','中馬',y,'只','小馬',z,'只')

   
# 練習(xí)五 求水仙花數(shù)
for num in range(100,1000):
    if (num // 100) ** 3 + (num % 10) ** 3 + (num % 100 // 10) ** 3 == num:
        print(num)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容