玩學機中內建了一個叫做 math 的模組,裡面有一些常用的數學函數與常數可以使用。您可以使用 import math; help(math) 指令來列出所有的函數與常數。常用的有:
count=0
right=0
op = ['+','-','*','/']
while True:
a = wb.rand(0,99)
b = wb.rand(0,99)
o = op[wb.rand(0, 4)]
print('%d %s %d = '%(a,o,b))
question = input('請輸入您的答案:(按q鍵退出)')
if o == '+':
result = a + b
elif o == '-':
result = a - b
elif o == '*':
result = a * b
elif o == '/':
result = a / b
if question == str(result):
print('正確答案')
right += 1
count += 1
elif question == 'q':
break
else:
print('答錯了!')
count += 1
percent = right / count
print('測驗完成,您回答了 %d 題,正確題數有 %d,正確率有 %.2f%%' %(count, right, percent * 100))
import math
def equationroots(a, b, c):
delta = b * b - 4 * a * c
root = math.sqrt(abs(delta))
if delta > 0:
print("有相異實根: ")
print((-b + root)/(2*a))
print((-b - root)/(2*a))
elif delta == 0:
print("有相等實根: ")
print(-b / (2 * a))
else:
print("無實數解")
equationroots(1, 2, 1)
equationroots(5, 8, 3)
equationroots(1, 3, 3)
import math
python_result = math.sqrt(11)
print("用 Math.sqrt(11) 計算出來的值為:", python_result)
def f(x):
return x * x - 11
def df(x):
return 2*x
def newton(a):
for i in range(1, 7):
a = a - f(a) / df(a)
return a
print("利用牛頓法求的值為: ", newton(3))
print("誤差值為 ", abs(newton(3) - python_result))
為了要讓玩學機有基本的矩陣運算功能,您可以考慮使用 umatrix 這個第三方模組。雖然 micropython-ulab 功能更強大,但需要額外編譯才能燒錄進玩學機裡。因此,我們在這裡使用 umatrix。從github 網站下載 umatrix.py ,並將檔案上傳到玩學機的根目錄裡,您就可以讓玩學機進行矩陣運算了。
from umatrix import *
A = matrix([1, 2, 3], [4, 5, 6], [7, 8, 9])
M = matrix([12, 23, 31], [40, 50, 60], [71, 87, 98])
print("===========================")
print(A)
print("===========================")
print(M)
print("===========================")
print(N)
print("===========================")
print(" A ^ 2 是 ")
print(A**2)
print("===========================")
print("det(M) = ")
print(M.det)
print("===========================")
print("M 的 Inverse 矩陣為")
print(M.inverse)
print("===========================")
print("M 的 Transpose 矩陣為")
print(M.transpose)
看了這麼多數學範例,是不是有點頭昏眼花呢?好好睡一下,明天我們開始來玩一些硬體套件,要教您如何「讓 LED 燈環顯示」。