iT邦幫忙

2021 iThome 鐵人賽

DAY 5
0
自我挑戰組

Discord-bot,從0開始到做出一個機器人系列 第 5

流程控制

選擇語句

  • 最簡單的版本
if 表達式:
    接下來需要做的......
  • 當然,前一章也看過了,也有else這種東西
a = 4
if a = 5:
#如果a = 5 
    print(a)
    #輸出a
else:
    a = 6
    #把6這個數值賦予給a
  • 還有if/elif/else語句喔
a = 5
if a = 4: print(a)
elif a = 3: print(a)
else: print(a)
#最後輸出 5
  • 盡量不要使用嵌(千)套

循環語句

  • while迴圈
i = 0
while i < 5:
    print(i)
    i += 1
#i加到4的時候就會停了,記得要給它加判斷,不然會造成無線迴圈
  • for迴圈
items = [1, 2, 3]
for item in items:
    print(item * 2)
# 2 
# 4 
# 6
# 其中的item是迭代變量,而items是對象,對象可以是list, str, tuple等,這邊就想程式每個東西都run過一遍會比較好理解
  • 另一種for循環(range)
for i in range(0, 5, 2):
    print(i)
# 0 
# 2 
# 4
# range的配置如下
# range(start開始, end結束, step間隔)
# 由上述例子可知,start包含的起始點
# 當然,也可以只用一個參數,這樣就只有end

循環嵌套

  • 就是在while裡有for迴圈,在for裡有while迴圈......
#自行建立test.py檔案 
#點擊 Ctrl + ~ 打開終端機
#輸入python test.py,即可看到結果
for i in range(5):
    for j in range(6):
        print(i * j)

break, continue, pass語句

  • break是強制停止的意思
for i in range(5):
    print(i)
    if i == 3:
        break
# 原本在這個迴圈哩,i的最大值為4
# 在加上了判斷條件後,i到3時,便會強制跳出迴圈
  • continue的意思是進入下一次循環
i = 0
for i in range(1, 100):
    if i % 2 == 0:
        continue
    print(i)
# 在i%2的情況下,會直接跳過print的動作
# i的部分會直接+1,進入下個循環
  • pass的意思是不用做任何事情
for i in range(1, 10):
    if i % 2 == 0:
        print(i, end = "")
    else:
        pass
# 2 4 6 8

上一篇
運算與表達
下一篇
(),[] -- 列表與元組
系列文
Discord-bot,從0開始到做出一個機器人30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言