创建三只狗。 用姓名和年龄初始化。 要求,从终端输入一只狗的名字,立即得到狗的全部信息。

//

//  main.m

//  DZCanimalinfor

//

//  Created by tomdu on 2018/6/9.

//  Copyright © 2018年 tomdu. All rights reserved.


#import <Foundation/Foundation.h>


int main(int argc, const char * argv[]) {

    @autoreleasepool {

        NSArray *dog1=[NSArray arrayWithObjects:@"dawang" ,@"1",nil];

        NSArray *dog2=[NSArray arrayWithObjects:@"xiaohei", @"2",nil];

        NSArray *dog3=[NSArray arrayWithObjects:@"laosi", @"3",nil];

        NSDictionary *dic=[[NSDictionary alloc] initWithObjectsAndKeys:dog1,@"1",dog2,@"2",dog3,@"3", nil];

        printf("请输入1-3号狗");

        int j;

        scanf("%d",&j);

        

        NSString *i=[NSString stringWithFormat:@"%d", j];

        NSLog(@"狗名和岁数为%@",[dic objectForKey:i]);

    return 0;

}

                     }

最初只用了scanf取得键盘的值.再创建NSString对象i,去获得键盘的值j.最后用NSdictionary,里面的办法调用关键字key“1”到”3“完成任务.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用 Python 和 ROS Kinetic 实现的节点代码,前提是已经安装好 ROS Kinetic 和 turtlesim 包: ```python #!/usr/bin/env python import rospy from geometry_msgs.msg import Twist from turtlesim.msg import Pose from turtlesim.srv import Spawn def spawn_turtle(): rospy.wait_for_service('spawn') try: spawn = rospy.ServiceProxy('spawn', Spawn) spawn(5, 5, 0, 'turtle2') except rospy.ServiceException as e: print("Service call failed: %s"%e) def pose_callback(data): rospy.loginfo("Turtle2 pose - x: %s, y: %s, theta: %s", data.x, data.y, data.theta) def main(): rospy.init_node('turtle_controller') spawn_turtle() pub = rospy.Publisher('turtle2/cmd_vel', Twist, queue_size=10) sub = rospy.Subscriber('turtle2/pose', Pose, pose_callback) rate = rospy.Rate(10) # 10Hz while not rospy.is_shutdown(): twist = Twist() twist.linear.x = 1.0 # 设置线速度为1m/s twist.angular.z = 1.0 # 设置角速度为1rad/s pub.publish(twist) rate.sleep() if __name__ == '__main__': try: main() except rospy.ROSInterruptException: pass ``` 代码解析: 1. 导入需要使用的 ROS 包和消息类型 2. 定义一个函数 `spawn_turtle()` 来生成一只名为 "turtle2" 的海龟,并将其放置在 (5,5) 的位置上 3. 定义一个回调函数 `pose_callback()` 来接收并处理海龟的位姿信息 4. 在 `main()` 函数中,初始化 ROS 节点并调用 `spawn_turtle()` 函数来生成海龟 5. 创建一个发布者 `pub`,用于发布海龟速度指令到 `turtle2/cmd_vel` 主题上 6. 创建一个订阅者 `sub`,用于订阅海龟的位姿信息从 `turtle2/pose` 主题上 7. 设置循环频率为 10Hz,使用 `Twist` 消息类型来控制海龟进行圆周运动 8. 在循环内部,发布海龟速度指令并周期打印海龟的实时位姿信息 运行节点: 1. 打开一个终端,启动 ROS Master: ``` roscore ``` 2. 打开一个新的终端,运行 turtlesim: ``` rosrun turtlesim turtlesim_node ``` 3. 打开一个新的终端,运行节点: ``` rosrun my_turtle turtle_controller.py ``` 4. 观察海龟在 `turtlesim` 窗口中进行圆周运动,并在终端中周期打印出海龟的实时位姿信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值