1、
# 82261773
# y6ufuT9yGQxddpSzSe3zZpbP
# BJsEfKFNGOwHtLuKoHsfVIWrGWjXVKut
"""
1、PC需要联网
2、不能使用MicroPython解释器
"""
from aip import AipFace
import base64
# 查看REST-API-SDK
if __name__ == "__main__":
# 设置APP_ID、API_KEY、SECRECT_KEY
APP_ID = "82261773"
API_KEY = "y6ufuT9yGQxddpSzSe3zZpbP"
SECRECT_KEY = "BJsEfKFNGOwHtLuKoHsfVIWrGWjXVKut"
# 连接百度人脸识别库
client = AipFace(APP_ID, API_KEY, SECRECT_KEY)
# 配置选项
options = {
# 人脸检测选项:年龄,颜值,表情,脸型,性别,眼镜,人种,脸的形状
"face_field":
"age,beauty,expression,face_shape,gender,glasses,race,face_type"
}
# 指定要识别的图片
filename = './images/test1.WEBP'
#filename = './images/test2.jpg'
# 打开图片,对图片进行识别并打印结果
image_file = open(filename, 'rb')
# 将读取到的内容经过编码base64成字符串
image = str(base64.b64encode(image_file.read()), 'utf-8')
# 类型为BASE64
data = client.detect(image, 'BASE64', options)
print(type(data))
# 获取人脸检测结果
face = data['result']['face_list'][0]
# 对结果进行解析
print('age:', face['age'])
print('beauty:', face['beauty'])
print('expression:', face['expression']['type'])
print('face_shape:', face['face_shape']['type'])
print('gender:', face['gender']['type'])
print('glasses:', face['glasses']['type'])
print('race:', face['race']['type'])
# 关闭图片文件(释放资源)
image_file.close()
2、
class Student:
def __init__(self,name,age,score):
self.name=name
self.age=age
self.score=score
print("我叫{},今年{}岁,四级考试分数是{}".format(
self.name,self.age,self.score))
def learn(self,course):
print("{}在学习{}课程".format(self.name,course))
if __name__=="__main__":
student1=Student("老张",20,426)
student2=Student("老王",22,459)
student3=Student("老吴",28,498)
student1.learn("英语")
student1.learn("python")
student1.learn("嵌入式软件开发")
3、
SyntaxError: 发生在代码中有语法错误时
IndentationError: 缩进错误,通常是因为缩进不一致导致
NameError: 使用了未定义的变量或函数
TypeError: 数据类型不匹配或操作不支持
ValueError: 函数的参数值不合法
ImportError: 导入模块失败或不存在
KeyError: 字典中查找不存在的键
IndexError: 访问列表或元组的索引超出范围
ZeroDivisionError: 除以0的错误
FileNotFoundError: 文件不存在或无法打开
TypeError: 不支持的操作类型.
4、
# try:
# num1=int(input("num1="))
# num2=int(input("num2="))
# print("num1/num2=",num1/num2)
# except ZeroDivisionError:
# print("除0错误")
# except ValueError:
# print("输入的数据不是数字")
#
# print("执行其他代码")
try:
num1=int(input("num1="))
num2=int(input("num2="))
print("num1/num2=",num1/num2)
except Exception as ex:
print("Error:",ex)
print("执行其他代码")
5、
#直流电机控制实验
from machine import Pin
import time
if __name__=="__main__":
#直流·电机控制对象
dc_motor=Pin(15,Pin.OUT,value=0)
#GPIO-->电机驱动芯片-->直流电机
dc_motor.value(1)#电机开启
time.sleep(3)
dc_motor.value(0)#电机关闭
6、
"""
按键控制实验(轮训)
"""
from machine import Pin
import time
# 定义按键的控制引脚
key1 = Pin(27, Pin.IN, Pin.PULL_UP)
key2 = Pin(26, Pin.IN, Pin.PULL_UP)
# LED控制对象
led1 = Pin(15, Pin.OUT, value=0)
led2 = Pin(2, Pin.OUT, value=0)
# 定义按键值
KEY1_PRESS = 101
KEY2_PRESS = 102
# 0有某个按键按下,1没有按键按下
key_flag = 1
# 按键扫描函数,有按键按下返回按键值,没有返回0
def key_scan():
global key_flag # 声明是全局变量
if key_flag==1 and (key1.value()==0 or key2.value()==0):
time.sleep_ms(10) # 按键消抖
key_flag=0
if key1.value() == 0:
return KEY1_PRESS
elif key2.value() == 0:
return KEY2_PRESS
elif key1.value()==1 and key2.value()==1:
key_flag = 1
return 0 # 没有按键按下
if __name__ == "__main__":
while True:
key = key_scan()
if key == KEY1_PRESS:
print("Key1按下")
led1.value(not led1.value())
elif key == KEY2_PRESS:
print("Key2按下")
led2.value(not led2.value())
else:
pass