[Day6] python 集训

本文深入探讨了Python中的函数概念,包括定义、参数、作用域、返回值等关键元素,并通过实例展示了函数的使用方法,如随机取样、最大值判断及字符串比较。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【Day 6】

  1. 函数关键字
    (1)def
def greet_user(username):#username为形参
    '''显示简单的问候语'''
    print('hello,' + username.title()+'!')
greet_user('penny')#penny为实参
#输出结果
hello,Penny!
def display_message(message):
    '''预告学习内容'''
    print("你在本章将学到 " + message + '.')
display_message('function')
#输出结果
你在本章将学到 function.

(2)as
如果要导入的函数的名称可能与程序中现有的名称冲突,或者函数的名称太长,可指定简短而独一无二的 别名 —— 函数的另一个名称,类似于外号。要给函数指定这种特殊外号,需要在导入它时这样做。

#通用语法
from module_name import function_name as fn
  1. 函数的定义
    函数 :带名字的代码块,用于完成具体的工作。(定义的方法见上)

  2. 函数参数与作用域
    (1)函数的参数
    形参/默认值

def describe_pet(pet_name , animal_type='dog'):
#必须将不具有默认值的形参放参数开头,让 Python 能够正确地解读位置实参
    print("\nI have a " + animal_type + ".")
    print("My " + animal_type + "'s name is " + pet_name.title() + ".")
describe_pet('harry')
#输出结果
I have a dog.
My dog's name is Harry.

实参/关键字实参
特点:具体的
好处:与位置无关

def describe_pet(animal_type, pet_name):
    print("\nI have a " + animal_type + ".")
    print("My " + animal_type + "'s name is " + pet_name.title() + ".")
describe_pet(animal_type='hamster', pet_name='harry')
#输出结果
I have a hamster.
My hamster's name is Harry.

(2)等效调用

def describe_pet(pet_name , animal_type='dog'):
    print("\nI have a " + animal_type + ".")
    print("My " + animal_type + "'s name is " + pet_name.title() + ".")
describe_pet('harry')#等效调用
describe_pet('coke')
describe_pet('lily','cat')#
#输出结果
I have a dog.
My dog's name is Harry.

I have a dog.
My dog's name is Coke.

I have a cat.
My cat's name is Lily.
  1. 函数返回值
    (1)返回简单值
def get_formatted_name(first_name, last_name, middle_name=''):
    """ 返回整洁的姓名 """
    if middle_name:
        full_name = first_name + ' ' + middle_name + ' ' + last_name
    else:
        full_name = first_name + ' ' + last_name
    return full_name.title()
musician = get_formatted_name('jimi', 'hendrix')
print(musician)
musician = get_formatted_name('john', 'hooker', 'lee')
print(musician)
#输出结果
Jimi Hendrix
John Lee Hooker

(2)返回字典

def build_dictionary(word_Chinese,word_English):
    '''返回一个英汉字典'''
    dictionary={'Chinese':word_Chinese,'English':word_English,}
    return dictionary
word=build_dictionary('蟒蛇','python')
print(word)
#输出结果
{'Chinese': '蟒蛇', 'English': 'python'}

(3)结合函数与while循环

def get_formatted_name(first_name, last_name):
    """ 返回整洁的姓名 """
    full_name = first_name + ' ' + last_name
    return full_name.title()
while True:
    print("\nPlease tell me your name:")
    print("(enter 'q' at any time to quit)")
    f_name = input("First name: ")
    if f_name == 'q':
        break
    l_name = input("Last name: ")
    if l_name == 'q':
        break
    formatted_name = get_formatted_name(f_name, l_name)
    print("\nHello, " + formatted_name + "!")
#输出结果
Please tell me your name:
(enter 'q' at any time to quit)
First name: r
Last name: bull

Hello, R Bull!

Please tell me your name:
(enter 'q' at any time to quit)
First name: q

【作业构想】
6. 实现random.sample方法

#方法一:randint
from random import randint
x = randint(1, 6)
print(x)
#输出结果
2
#方法二:从数列中随机取任意个数数字
import random
y=list(range(1,100))
slice = random.sample(y, 5)
print (slice)

  1. 实现Max方法
x=max(1,2,5,7,23,3)
print(x)
#输出结果
23
  1. 实现判断两个字符串是否相等的方法
a=input('请输入你的第一个字符串:')
b=input('请输入你的第二个字符串:')
if a==b:
    print('两字符串相等')
else:
    print('两字符串不相等')
#输出结果
请输入你的第一个字符串:nihao
请输入你的第二个字符串:nihao
两字符串相等
资源下载链接为: https://pan.quark.cn/s/67c535f75d4c 在机器人技术中,轨迹规划是实现机器人从一个位置平稳高效移动到另一个位置的核心环节。本资源提供了一套基于 MATLAB 的机器人轨迹规划程序,涵盖了关节空间和笛卡尔空间两种规划方式。MATLAB 是一种强大的数值计算与可视化工具,凭借其灵活易用的特点,常被用于机器人控制算法的开发与仿真。 关节空间轨迹规划主要关注机器人各关节角度的变化,生成从初始配置到目标配置的连续路径。其关键知识点包括: 关节变量:指机器人各关节的旋转角度或伸缩长度。 运动学逆解:通过数学方法从末端执行器的目标位置反推关节变量。 路径平滑:确保关节变量轨迹连续且无抖动,常用方法有 S 型曲线拟合、多项式插值等。 速度和加速度限制:考虑关节的实际物理限制,确保轨迹在允许的动态范围内。 碰撞避免:在规划过程中避免关节与其他物体发生碰撞。 笛卡尔空间轨迹规划直接处理机器人末端执行器在工作空间中的位置和姿态变化,涉及以下内容: 工作空间:机器人可到达的所有三维空间点的集合。 路径规划:在工作空间中找到一条从起点到终点的无碰撞路径。 障碍物表示:采用二维或三维网格、Voronoi 图、Octree 等数据结构表示工作空间中的障碍物。 轨迹生成:通过样条曲线、直线插值等方法生成平滑路径。 实时更新:在规划过程中实时检测并避开新出现的障碍物。 在 MATLAB 中实现上述规划方法,可以借助其内置函数和工具箱: 优化工具箱:用于解决运动学逆解和路径规划中的优化问题。 Simulink:可视化建模环境,适合构建和仿真复杂的控制系统。 ODE 求解器:如 ode45,用于求解机器人动力学方程和轨迹执行过程中的运动学问题。 在实际应用中,通常会结合关节空间和笛卡尔空间的规划方法。先在关节空间生成平滑轨迹,再通过运动学正解将关节轨迹转换为笛卡
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值