賴昱錡
討厭程式的小廢物
2024/7/1 By.賴昱錡
讓你自我介紹一下~
(sorry 上次我的喇叭壞掉)
上次沒講清楚
i = 1
while i < 10:
print(i)
i = i + 1
# PRESENTING CODE
只要 while 裡面的敘述為真,迴圈中的程式會一直執行下去
i = 1
while i < 10:
print(i)
if i == 5:
break
i = i + 1
# PRESENTING CODE
即使迴圈條件仍然滿足,只要有 break
就能強制跳出迴圈
i = 0
while i < 10:
i = i + 1
if i == 5:
continue
print(i)
# PRESENTING CODE
透過 continue,可以跳過該"輪"迴圈
也就是 continue 後的程式不會被執行
i = 0
while i < 10:
i = i + 1
print(i)
else:
print('i is no longer less than 10.')
# PRESENTING CODE
當敘述不再為真,會執行 else 裡頭的敘述
fruit = ['banana', 'apple', 'strawberry']
nums = [2, 5, 67, 89]
mix_list = [567, 'leon', 78.910] # 也可以放不一樣的類型
# PRESENTING CODE
當我們想紀錄多個東西,不用設定大量的變數
只需要 List
BTW,List 是 0-base,也就是第1項的索引值 (index) 為 0
fruit = ['banana', 'apple', 'strawberry', 'tangerine']
for i in fruit:
print(i)
# PRESENTING CODE
message = "Never gonna give you up."
for i in message:
print(i)
adj = ["red", "big", "tasty"]
fruits = ["apple", "banana", "cherry"]
for x in adj:
for y in fruits:
print(x, y)
# PRESENTING CODE
for x in [1,3,5,7,99]:
pass
# PRESENTING CODE
不做任何事,又不會報錯
函式炸雞
By ChatGPT
def say_hello():
print('Hello, Guten Tag.')
say_hello()
# PRESENTING CODE
def say_hello(last_name):
print('Hello, Guten Tag, ' + last_name)
say_hello("Emilia")
say_hello("Maxwell")
say_hello("hi")
# 上面會分別印出 Hello 和各函式包含的姓名
# PRESENTING CODE
def send_email(name, email):
print('The email of ' + name + ' is ' + email)
send_email('Richard', 'richardlaiis@proton.me')
# PRESENTING CODE
如果我呼叫時,括號裡不只兩個參數,直譯器會報錯 :(
def my_function(*kids):
print("The youngest child is " + kids[2])
my_function("Emil", "Tobias", "Linus")
# PRESENTING CODE
這寫法也通常被簡稱為 *args
上面的範例程式會輸出 The youngest child is Linus
def bank_deposit(person1, person2, person3):
print('Person3 has '+str(person3)+' dollars.')
bank_deposit(person3 = 500, person1 = 700, person2 = 300)
# PRESENTING CODE
如果通過 = 指定各參數的值,即使不管順序也不會報錯
def my_function(**kid):
print("His last name is " + kid["lname"])
my_function(fname = "Tobias", lname = "Refsnes")
# PRESENTING CODE
任意數量參數版本的 keyword arguments
上述範例程式會輸出 His last name is Refsnes
def show_country(country = 'Norway'):
print('I\'m from ' + country)
show_country('Taiwan') # I'm from Taiwan
show_country('Japan') # I'm from Japan
show_country() # I'm from Norway
# PRESENTING CODE
先用等號指定 country 預設的值,若呼叫函式時未指定參數,則參數為預設值
補充: ' 或 " 前必須加上 \ ,標示為跳脫字元直譯器才不會報錯
def show_country(country = 'Norway'):
print('I\'m from ' + country)
show_country('Taiwan') # I'm from Taiwan
show_country('Japan') # I'm from Japan
show_country() # I'm from Norway
# PRESENTING CODE
先用等號指定 country 預設的值,若呼叫函式時未指定參數,則參數為預設值
補充: ' 或 " 前必須加上 \ ,標示為跳脫字元直譯器才不會報錯
def doubleNum(x):
return 2*x
print(doubleNum(7))
# PRESENTING CODE
有點像是 f(x) 的概念,
\(f(x) = x^2+7x+9\)
\(則f(11)=?\)
def eat(food):
for x in food:
print('I like '+x)
uber_eat = ['hamburger', 'bread', 'ramen', 'Bubble tea', 'fried rice']
eat(uber_eat)
# I like hamburger
# I like bread
# I like ramen
# I like Bubble tea
# I like fried rice
# PRESENTING CODE
# PRESENTING CODE
遞迴就是 在函數內使用到函數
雖然容易思考,但耗費的記憶體與時間也較多
# PRESENTING CODE
\(Definition:\\a_0=0\\a_1=1\\a_n=a_{n-1}+a_{n-2} \)
def fib_number(index):
if index == 0 :
return 0
elif index == 1:
return 1
else:
return fib_number(index-1) + fib_number(index-2)
x = int(input())
print(fib_number(x))
# PRESENTING CODE
當我們只有一行敘述,就用函式好像有點浪費吧?
# 語法: lambda arguments : expression
x = lambda a : a + 10
print(x(5)) # 15
x = lambda a, b, c : a + b + c
print(x(5, 6, 2)) # 13
有趣的數論
# PRESENTING CODE
感謝 ChatGPT 今天幫我這麼多
總之數論是一門研究整數的學問
# PRESENTING CODE
當 a 和 b 除以 n 的餘數相同時,我們可以將這個關係表現成上面的式子,例如:
餘數也可以是負數?
# PRESENTING CODE
# PRESENTING CODE
a 和 p 互質
# PRESENTING CODE
p 是 n 的每個質因數
\(\phi(n)\)是小於等於n,與n互質之數的數目
當我們想要紀錄更多樣東西
n. 容器
Python 還有一些和 List 很像,但用途不大一樣
可以儲存資訊的 "容器"
深入字串
用來紀錄成對的資訊
模組
By 賴昱錡
家教好快樂