smart23

6-1

print("hello,world!")

# ctrl+?表示注释,注释行在程序运行时跳过不运行

# 安装python解释器时一定要注意添加环境变量!!!

# 总结:运行的多种方式

# 1.交互式编程
# windows+r打开运行窗口,输入cmd回车打开命令窗口
# 输入python进入交互式编程环境
# crtl+z回车退出交互式编程环境


# 2.脚本式编程
# 用sublime或VScode等脚本编辑器写脚本并保存(ctrl+s)
# windows+r打开运行窗口,输入cmd回车打开命令行窗口
# 输入python+空格,把文件拖拽到命令行窗口,回车运行


# 3.IED编程
# 打开pycharm。新建一个项目。选择合适的location(项目位置)和python解释器
# 新建python File(python 文件)
# 运行方式有三种,左侧右键文件名称选择run.中间编辑窗口右键选择run.右键选中要运行的文件找绿色三角运行









7-1


# python基础

#!/usr/bin/python
# 声明此脚本是python脚本,不写也没有太大问题,此行代码一般写在第一行

# ctrl+?注释快捷键,shift+3是#,shift+1是!,ctrl+C是复制,ctrl+V是粘贴,ctrl+X是剪贴,ctrl+Z是撤销,crtl+S是保存,ctrl+shift+S是另存为,ctrl++是放大,ctrl+-是缩小,alt+tab是切换窗口,ctrl+空格是中英文切换

print("中文出现乱码")
# 如果输出中文出现乱码,说明python版本比较低,声明编码格式改为utf-8即可,代码为# -*-coding:UTF-8,一般放在第二行
# 编码错误:unicode error

# 一行多条语句
print("h");print("e");
# 同一行可以写多条语句,每条语句后加英文分号。

# 一条多行语句
# 我们利用\将一行语句可以拆成多行,但本质是一行语句,常用在符号后,列表、字典、元组等数据类型中。
namelist = ['zhangsan',\
			'lisi',\
			'wangwu']
print(namelist)

# 行和缩进
# python有严格的行和缩进,用不同缩进来代表代码块
# 一般情况用4个或2个或1个来代表不同缩进,或者是制表符(tab),最常使用的是tab和4个空格,在一个脚本中,使用缩进的样式要统一(乔老师提要求了:23智能班统一用tab键)
a = 10
if  a > 10 :
	print("a大于10")#这是tab键
else:
	print("a小于等于10")

# 缩进错误:indentationError

7-2

# python 基础

# 标识符
# 标识符由字母、数字、下划线(_)组成,数字不能打头。
# 以下标识符遵循起名规则的是:A apple B 23smart(错)  C _23smart
# 标识符是区分大小写。APPLE和apple是不同的。

# 保留字符
# 是python当中的一些关键词,不能当做标识符来用,python当中所有的保留字都是小写的。
# 比如说 print

# 空行
# 空行在编译和运行的时候直接跳过,作用是用于分隔两段含义或功能不同的代码,用于后面程序的维护。
# 空行也是程序的一部分。


# 注释
# 单行注释
print("hello,world!")#这行代码的含义是输出hello,world!
"""
多行注释
"""

'''
多行注释
'''
# 注释的作用是为了代码的可阅读性更强

# 输入函数
text = input("请输入您想要输出的内容")
print(text)


# 变量
# 变量的含义类似于数学方程式当中变量的含义,不同的是,python中的变量存放的可能不是数字。
# 变量的名字,变量名遵循标识符的起名规则。

r = 2  #用变量r存放圆的半径
print(3.14*r*r)
r = 3  #变量的值是可以发生变化的,刚才是2,现在是3
print(3.14*r*r)


# 常量
# 常量的值不能发生变化,python当中没有严格意义的常量,一般用大写来表示某变量为常量,其值不做更改
PI = 3.14
print(PI*1*1)
print(PI*4*4)#不管半径怎么变,这里PI的值不能二次赋值



8-1

# 变量的赋值
number1 = 7 #定义了名叫number1的变量,在变量的存储空间中放了数字7,number1是数值型的变量
number2 = 7

number1 = number2 = 7 #多变量赋同一个值
number1 , number2 = 7 , 3 #多变量赋不同值,将7赋值给number1,将(jiang)3赋值给number2
# number2最后的值3
print(number2)

# 运行过程中常出现的错误
# 符号错误,变量之间的逗号,值之间的逗号,print后面的括号,都要是英文符号。invalid character in identifier
# 缩进错误,行前有空格,unexpected indent或indentationError


# 数据类型

# 数值型(Number)
# 整型(int)和浮点型(float)
a = 1
b = 2
print(a + b)

score = 99.5

# 布尔值(bool)
# 只有两个值:True和False

right = True
wrong = False
print(right,wrong)

# 用type()可以查看数据类型
print(type(a),type(score),type(right),type(wrong))

# 文本 text
# 字符串 string
# 字符 character
# 以上三种在python没有做严格意义的区分
char = 'a'
string = "I am OK!"
# 在python当中单引号和双引号可以互换使用,但是一般单引号表示字符,双引号表示字符串。
text = """ 
    这是一个段落
    这是一个段落 """
# 三重引号可以用于多个段落,里面可以换号,但是单重引号不可以。
print(char)
print(string)
print(text)


# 预告:运算符
# 预告:数据类型2

8-2

# 运算符

# 算数运算符
# +  -  *(乘)  /(除)  %(取余数)  //(整除)  **(乘方)
a = 10
b = 20
print(a + b)
print(a - b)
print(a * b)
print(a / b)
print(a % b)
print(a // b)
print(a ** 2)

# 比较运算符
print(a > b)
print(a < b)
print(a >= b)
print(a <= b)
print(a == b)
# 用两个等号表示判断是否相等
print(a != b)
# 用两个等号表示判断是否不相等
# 比较运算的结果是布尔值

# 逻辑运算
# 布尔值可以进行逻辑运算
# 与运算 and
print(True and True)
print(True and False)
print(False and False)
# and运算前后同时为真则为真,and前后条件要都满足
# and 对应集合运算当中的交集

# 或运算 or
print(True or True)
print(True or False)
print(False or False)
# or运算前后同时为假则为假,or前后条件满足其一即可
# or 对应集合运算当中的并集

# 非运算 not
print(not True)
print(not False)
# 非真则假,非假则真
# not 对应集合运算当中的集合的差



9-1

#运算符2
# 一个等号表示赋值,两个等号表示判断是否相等

# 或 与 非运算:运算优先级

# 非运算 》 与运算 》 或运算 (not and or  记忆: "not at all")

# 筛选出不是15岁的175以上的同学
# 张三同学16岁,身高177,符合筛选条件吗?
age = 16   
height = 177
print(not age == 15 and height >= 175)
# 假设先算and,先把15岁的175以上的同学找出来,那么16岁,172的同学也符合条件,与题干矛盾,所以先算not运算。

# 运行结果:True

# 比较运算和逻辑运算的结果都是布尔值

# 表达式:是用运算符将变量、常量、函数连接起来的有意义的式子
a = 10
print(1 + 2 + 3 + max(1,2) + a)

# 条件表达式:通常来说,返回值是布尔值的表达式,返回值是数值也可以作为条件表达式
print(5 > 3 and not True)

# 变量交换

# 单变量赋值
a = 10

# 多变量赋同一值
m = n =20

# 多变量赋不同值
x,y = 10,20


# 通过变量交换,让x的值变为20,y的值变为10
q = x
x = y
y = q

print(x,y)

x,y = y,x
print(x,y)







11-1



# 2023年23智能期中考试实训题目


"""
1、请找出以下代码的错误,并改正在注释内描写错误原因。
"""

a = 99 #错误是:缩进错误



"""
2、完成以下代码:
定义变量a和b,a = 10,b = 20计算a和b的加减乘除的值
"""
a = 10
b = 20
print(a+b) 
print(a-b)
print(a*b)
print(a/b)


"""
3、完成以下代码:
定义变量x和y,x=1,y = 2,实现变量交换
"""
x=1
y=2
print(x,y)
x,y =y,x
print(x,y)


# z = x
# x = y
# y = z

print("  *")
print(" ***")
print("*****")
print(" ***")
print("  *")

12-2

#分支结构基本语法

# 分支结构分为双分支结构、单分支结构、多分支结构。


# 双分支结构

"""
语法:
if 条件表达式:
	执行语句1
else:
	执行语句2
"""

#判断数字a是否是偶数?
a = 99
if a % 2 == 0:
	print("a是偶数")
else :
	print("a是奇数")

# 小明要跟家长外出旅游,六岁及以上的小朋友需要买票,现知道小明今年6岁,他是否要买票?

age = 6
if age < 6 :
	print("不需要买票")
else:
	print("需要买票")


# 单分支结构

"""
语法:
if 条件表达式:
	执行语句
"""

#Python程序语言指定任何非0和非空值为true,0或者空值为false。
if True :
	print("条件为真")

if 100:
	print("值是100")

if 0:
	print("值是0") 
#if 后面的0被认定为False,所以冒号后面的执行语句不会输出

if None:
	print("空值")
#if 后面的None被认定为False,所以冒号后面的执行语句不会输出

# 面试通过的发邮件,没通过的不发。
result = 'pass' #赋值
if result == 'pass':  #判断是否相等
	print("发送邮件,通知来办理入职")

13-1

# 程序的结构

# 程序的结构有三种:顺序、分支、循环

# 多分支结构

# 复习一下:单分支结构、双分支结构

# 校园歌手大赛成绩出来了,成绩在前10的同学,在一楼大屏进行展示,现在知道小张同学得了第7名,写一个程序看小张同学的视频是否展示?

number = 7
if number <= 10:
	print("视频需要展示")

# 车自动巡航速度是80,高于这个速度就减速,低于等于这个速度就加速。目前车的速度是69,判断是要加速还是要减速?

speed = 69
if speed > 80 :
	print("减速")
else:
	print("加速")


# 判断一个数字大于10,小于10,还是等于10?如果数字是9,请做出判断。
"""
	多分支结构的语法:
	if 条件判断语句:
		执行语句1
	elif 条件判断语句:
		执行语句2
	...
	elif 条件判断语句:
		执行语句
	...
	else:
		执行语句n

"""

n = 9
if  n >10 :
	print("这个数字大于10")
elif n < 10:
	print("这个数字小于10")
else:
	print("这个数字是10")

13-2

print("hello,world!")

a = 9
# 定义变量a,a的数据类型是整型,将10赋值给a
print(a == 10)
# 判断a是否等于10,并将结果输出出来
if a == 10 :
	# if 关键词,表示后面是分支结构,后面跟条件判断语句,条件判断语句后面跟冒号(英文的),冒号后面的执行语句会自动缩进,当条件成立的时候,执行语句执行。
	print("a是10")
	print("a = 10")

print("a = 10")

# 判断红绿灯是否为绿灯,如果是绿灯,则通行,其他,原地不动。请用light做红绿灯的变量,用red,yellow,green做变量的值,当light的值为green时,输出通行还是原地不动?


light = "green"
if light == "green" :
	print("通行")
else:
	print("原地不动")

14-1

# 多分支结构 

# 设置一个自动售票机,机器中有一段代码,要根据用户的年龄,告诉用户要买不同的票种。12岁及以下,输出“请买儿童票”,12岁以上,60岁以下,输出“请买成人票”,60岁含60岁以上,输出“请买老年票”。

year = int(inpu("请输入您的年龄"))

if year <= 12 :
	print("请买儿童票")
elif year > 12 and year < 60 :
	print ("请买成人票")
else :
	print("请买老年票")


"""
常见的错误:
1、缩进错误 : indent 。冒号后面的行要缩进。其他行不要缩进。
2、无效符号 : invalid character 。有中文标点符合,在哪里?位置在line单词附近。
3、拼写错误 : not defined。出现未定义的变量名、函数名。
4、拼写错误 : invalid syntax。关键词出现问题。
"""


# 作业:根据你的成绩,返回你的成绩是优秀(85分及以上)还是良好(75分及以上,85以下),还是一般(其他)。

score = int(input("请输入您的成绩"))

if  score >= 85:
	print("优秀")
elif score >= 75 and score < 85:
	print("良好")
else:
	print("一般")
	

14-2

# list 列表 for 循环

# 列表:一些有先后顺序的元素的集合,元素与元素之间是逗号分隔,用方括号括起来

smart23 = ['hanhongyu','duyuxuan','qiyixuan']
# 错误:1数字字母下划线组成,2数字不能打头(23smart),3区分大小写

print(smart23)

idol = ['name','gender',45,True,['game','art']]
# 列表当中的元素数据类型可以不一致,可以是数字,文本,布尔值,或者列表。

print(idol[2])
# 列表中的每个元素有先后顺序之分,每个元素都有对应的索引,第一个元素的索引是0,以此类推

print(idol[4])

print("没使用循环")
print(smart23[0])
print(smart23[1])
print(smart23[2])

print("使用循环")
for name in smart23:
	print(name)

# for in 循环搭配list使用
"""
for 中间变量名 in 列表名:
	执行语句
"""

for i in idol:
	print(i)


subjects = ['python','HTML','data analysis']
for subject in subjects:
	print("该上",subject,"啦!")

15-1

# for in 循环

# 循环输出21net班的本周五星
five_stars = ['yangzihao','zhangyuqi','fengran','qinzixuan','liyanxin']
for name in five_stars: #依次从列表five_stars中取每一个元素,赋值给name
    print("本周五星的获得者:",name)
"""
for in 循环搭配list使用语法:

for [变量名] in [列表名]:
    循环语句

"""
# 课程显示屏:此教室的课程依次为['Python编程','MySQL基础','专业英语','HTML语法']
subjects = ['Python编程','MySQL基础','专业英语','HTML语法']
for subject in subjects:
    print("接下来要上的课程是",subject)

classes = [
    ['21net','Python编程','qiao'],
    ['21smart','MySQL基础','hu'],
    ['21net','专业英语','wu'],
    ['21net','HTML语法','qiao']]
for classe in classes: #把classes里的子列表赋值给classe
    print("即将上的课程是")
    for clas in classe: #把classe当中每个元素赋值给clas
        print(clas)



15-2

# while循环

# 语法
"""
while 条件判断语句:
	执行语句
"""

a = 1 # a 变量的初始值是1
while a < 10:
	print(a)
	a = a + 2


# 输出大于等于1小于等于10的所有整数:

a = 1

while a <= 10:
	print(a)
	a = a + 1



# 实例1
# 用while循环写出1-100以内(包含100)的所有的偶数。
# 2,4,6,8,10 .....100

# 实例2
# 用while循环计算1到10的和

# a = 1
# s = 1#s初始值为1,可以,但是过程有些繁琐

# while a <= 10:
# 	print(a)
# 	a = a + 1
# 	s = s + a
# 	# print(s)

# s = s - 11
# print(s)

a = 1
s = 0

while a <= 10:
	print(a)
	s = s + a
	# print(s)
	a = a + 1

print(s)

16-1

#列表的截取
# 规则同样也适用于字符串的截取

letters = ['a','b','c','d','e','f']
# 列表的元素有先后顺序之分,用索引来明确每个元素的位置,索引是从0开始的

print(letters[0])
print(letters[2])

# 怎么输出['b','c']?
print(letters[1:3])
# 怎么输出['a','b']?
print(letters[0:2])
print(letters[:2])#从第一个元素开始截取,0可以省略不写
# 怎么输出['e','f']?
print(letters[4:6])
print(letters[4:])#冒号后面省略不写,代表一直取到最后一个元素

# 想取倒数第一个和倒数第二个元素?
# 索引除了从前往后标注,还有另外一种索引,是从后往前标注,最后一个元素的索引是-1。
print(letters[-2:])#冒号后面不能是0,可以是6

# 想取倒数第二个和倒数第三个元素?
print(letters[-3:-1])

# 怎么输出['b','c','d','e'],一共有多少种方法?
print(letters[1:5])
print(letters[1:-1])
print(letters[-5:-1])
print(letters[-5:5])













#数据类型——字典




#range函数:for循环搭配range函数使用




  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Smart200是一种智能设备,它可以自行编写PID(Proportional-Integral-Derivative)控制算法来实现对温度、湿度、压力等参数的控制。编写PID控制算法的主要步骤如下: 1. 设定目标值:首先,需要设定所控制参数的目标值,例如希望温度保持在25度。 2. 收集实时数据:Smart200会不断地收集与控制参数相关的实时数据,例如当前的温度值。 3. 计算误差:将目标值与实际值进行比较,得到误差值,即目标值与实际值的差。 4. 计算P项:P项是比例项,根据误差值乘以比例系数Kp得到P项的值。 5. 计算I项:I项是积分项,通过累积误差值乘以积分系数Ki得到I项的值。 6. 计算D项:D项是微分项,通过当前误差值与上一次误差值的差乘以微分系数Kd得到D项的值。 7. 计算控制量:将P项、I项和D项相加得到控制量。根据控制量的大小来控制执行器,例如调节加热或制冷设备来维持温度稳定。 8. 更新参数:根据实际执行效果,不断调整PID控制算法中的参数,如比例系数Kp、积分系数Ki和微分系数Kd。 通过这种方式,Smart200可以按照设定的目标值自动调节控制参数,并通过反馈机制不断优化控制效果,实现对各种参数的精确控制。这样,Smart200能够应对不同环境下的变化,提高系统的稳定性和效率。 ### 回答2: Smart200作为一个智能机器人,可以通过编写PID(比例-积分-微分)控制器来实现自主控制。编写PID控制器,需要进行以下步骤: 1. 设定目标:首先需要明确Smart200需要控制的目标,例如控制机器人的速度、位置或者其他特定的参数。 2. 收集数据:Smart200通过传感器获取实时数据,例如当前速度、位置或者其他需要监控的参数。 3. 设计控制算法:根据目标和已有数据,设计PID控制算法。PID控制由三个部分组成:比例项、积分项和微分项。比例项设定控制器的灵敏度,积分项消除持续偏差,微分项调整控制器的响应速度。 4. 设置控制参数:根据实际情况,调整PID控制器的参数。比例参数决定了响应速度和稳定性的权衡,积分参数处理系统偏差,微分参数消除控制器的振荡。 5. 调试和测试:将编写的PID控制器应用到Smart200中进行测试。观察机器人的行为,若需要调整控制效果,可以再次调整PID参数进行测试。 6. 优化和改进:根据测试结果,优化和改进PID控制器的参数,以获得更好的控制效果。 通过以上步骤,Smart200可以自己编写PID控制器,实现自主控制。编写PID控制器需要基于传感器数据和目标设定,设计控制算法,并根据实际情况进行参数调整和测试。持续的改进和优化可以提高控制效果,使Smart200更加智能和高效地完成任务。 ### 回答3: 编写PID(Proportional-Integral-Derivative)控制算法是智能200如何实现自动控制的关键。下面是关于如何自主编写PID算法的一些步骤: 1. 设置目标值:首先,需要确定所要控制的目标值或期望值。例如,在温度控制中,目标温度可以是25摄氏度。 2. 搜集输入数据:通过传感器或其他方式,获取与所要控制的变量相关的反馈数据。例如,在温度控制中,可以使用温度传感器获得当前温度值。 3. 计算误差:将目标值与实际反馈值进行比较,得出误差值。例如,目标温度为25摄氏度,实际温度为23摄氏度,误差为2摄氏度。 4. 设定控制增益:根据实际应用的需求,设置适当的比例增益、积分时间和微分时间。这些参数将确定控制器的响应速度和稳定性。 5. 计算控制输出:根据PID控制算法的公式,计算控制输出。PID控制器的输出是由三个部分组成:比例项、积分项和微分项。比例项与误差成正比,积分项与误差的积分成正比,微分项与误差的变化率成正比。 6. 应用控制输出:将控制输出应用于实际控制系统,调整相应的执行器或输出设备,以实现对目标变量的控制。例如,在温度控制中,可以根据控制输出来调整加热器的功率。 7. 反馈调整:根据实际的反馈数据,不断调整PID控制算法的参数,以优化控制系统的性能。这可以通过手动调整参数或使用自适应控制算法来实现。 总之,编写PID算法需要确定目标值、搜集输入数据、计算误差、设定控制增益、计算控制输出、应用控制输出和反馈调整。通过不断调整参数,可以达到更好的自动控制效果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值