盲人视觉辅助系统
课后作业
作业1
-
打印输出:
编写一个程序,打印出自己的名字和一句问候语使用两种方式打印输出:
你好xxx
-
条件语句:
编写一个程序,输入一个数字,然后判断这个数字是奇数还是偶数,并输出相应的结果,如果是奇数则输出是奇数
,否则输出是偶数
。先查询资料学习函数
input()
的使用方法,函数in = input()
能够读取用户键盘的输入,并将输入赋值给变量in
-
循环:
编写一个程序,计算1到100的所有整数的和,然后输出结果。另:可以使用求和公式,计算的次数会少很多
-
列表:
-
创建一个列表,包含几种水果的名称,然后编写一个程序,遍历列表并输出每种水果的名字。
-
实现函数
add_item(li, index, val)
-
-
函数:
编写一个函数,接受三个参数num1
,num2
,sign
(两个数字和一个运算符),然后根据运算符进行计算并返回计算结果。函数定义:
def opt(num1, num2, sign)
-
简单的游戏:
设计一个简单的文本游戏,例如猜数字游戏或石头剪刀布游戏。 -
综合项目:
使用类来设计一个能够进行四则运算的计算器程序。提示:
class Calculator: def add(a, b): ... def sub(...): ... ... my_calculator = Calculator() # 初始化一个名叫`my_calculator`的对象 print(my_calculator.add(1, 3)) # 计算 1 + 3
作业2
-
字符串操作:
-
编写一个程序,输入一个句子,统计并输出句子中的单词数。
提示:可以使用字符串的
split()
方法 -
将一个字符串如
abc cdd cc ddd
,将中间有多个空格的去除掉,只保留一个空格,即输出abc cdd cc ddd
-
-
文件操作:
编写一个程序,将用户输入的内容写入到一个文件中,然后读取该文件并打印出内容。提示:使用
open()
方法进行文件操作 -
字典操作:
编写一个程序,创建一个字典,包含几种水果及其价格,然后遍历字典并输出每种水果的名称和价格。提示:查询Python中的
dict
数据类型额外挑战:让用户输入水果名称,程序输出对应的价格,如果水果不存在,提示用户水果不存在
-
递归函数:
编写一个递归函数,计算并返回一个整数的阶乘。提示:递归函数是指在函数中调用这个相同的函数
函数定义:
def factorial(n)
-
类与对象:
设计一个类,表示一个学生,包含姓名、年龄和成绩三个属性,并包含一个方法用于打印学生的详细信息。然后创建几个学生对象,并调用其方法输出信息。提示:使用
__init__()
方法进行初始化,学生默认的姓名为张三,年龄为10,成绩为90 -
列表排序:
编写一个程序,创建一个包含多个学生成绩的列表,然后编写一个函数对该列表进行排序,并输出排序后的结果。提示:使用
sorted()
函数函数定义:
def sort_scores(scores)
-
综合项目:
使用类来设计一个学生管理系统,包括添加学生、删除学生、查看所有学生和查找学生四个功能。提示:
class Student: def __init__(self, name, age, grade): ... class StudentManager: def add_student(self, student): ... def remove_student(self, student_name): ... def display_students(self): ... def find_student(self, student_name): ... manager = StudentManager() student1 = Student("Alice", 16, "A") manager.add_student(student1) manager.display_students()
提示:需要使用到对象中方法的重载,需要重载
Student
的__str__()
方法
项目拆解
语音关键词识别功能
opencv
mediapipe
教程链接:https://www.bilibili.com/video/BV1GR4y1W7KS/?vd_source=d4cdd6c39a30a96355c0ea5ca8e32488
任务
-
自学博客中
一、学会休眠和语言唤醒
内容,并实现英文短语和中文词的唤醒功能可以参考以下代码:
def keyword_recognition(): speech = LiveSpeech( verbose=False, sampling_rate=16000, buffer_size=2048, no_search=False, full_utt=False, hmm='./zh-cn', lm='./keyword_zh/3746.lm', dic='keyword_zh/3746.dic' ) for phrase in speech: if str(phrase) in ['文字识别', '图片理解']: print(f"keyword: {phrase}") keyword_recognition()
-
自学opencv的视频教程,并完成下面的作业内容:
-
读取本地的一张图片并使用窗口显示
-
将图片从RGB色彩模式转换成HSV色彩模式,观察图片发生了什么变化
-
将图片正中间裁剪出100x100的图片并使用窗口显示裁剪后的图像(裁剪部分填充白色)和被裁剪的图片
-
在图片正中间绘制一个100x100的矩形,矩形的左上角点上方放置文字内容:
100x100 rectangle
,效果图如下:
-
读取摄像头采集的图片帧并使用窗口显示
-
-
自学mediapipe的视频教程,并完成下面的作业内容:
-
编写程序检测一张图片中的手,并将检测到的所有手部关键点和关节连线绘制在图片帧上,并使用窗口显示
-
使用上面的摄像头采集视频流并进行实时检测(与上面1相同)
-
检测两只手的大拇指指尖,如果存在两只手的大拇指指尖,则以两个指尖坐标作为矩形的两个对角点绘制矩形
-