精华内容
下载资源
问答
  • 关于python语言、下列说法不正确的是-关于Python语言,以下说法错误的是():
    千次阅读
    2020-11-01 11:54:40

    【填空题】提到,谈到

    【填空题】设 且 , 则 ____

    【单选题】以下数据库中,不能直接获取原文的是( )。

    【单选题】WTO与( )明确规定快递服务属于通信服务。

    【单选题】顺序查找不论在顺序线性表中还是在链式线性表中的时间复杂度为( )。

    【单选题】s=”0123456789”,以下哪个选项表示”0123”():

    【单选题】___________ 是根据目标市场的竞争者现有产品的情况和企业自身情况,为虚拟市场上的产品创造一定的形象,塑造一定的产品特色,使产品在竞争中占有一定的优势。

    【多选题】影响网络营销产品定价的因素有___________等。

    【单选题】机械拆解总包:( )。

    【单选题】甲公司于 200 8 年 5 月 购得一幢登记用途为办公的两层临街房屋 , 首层建筑面积为 2000m 2 , 二层建筑面积为 1500m 2 , 该房屋于 2010 年 1 月出租给乙公司,租赁期限为 10 年 , 乙公司承租后将该房屋装修改造成酒楼 , 并在二层顶部加建了 500m 2 包房 , 2011 年 3 月甲公司以该房屋申请了 3 年期抵押贷款 , 201 4 年 8 月该房屋所在区域被列入征收范围,丙房地产估价机构分别于 2011 年、 2014 年接受委托 , 对该 房屋进 行了抵押估价和征收估价。 7. 该房屋的抵押建筑面积应为( ) m 2 。

    【单选题】CNKI的全称为( )。

    【单选题】函数 ( ).

    【单选题】塑料门窗的安装中,固定片或膨胀螺栓的数量与位置应正确,固定点应距窗角、中横框、中竖框( )mm,固定点间距应小于或等于( )mm。

    【单选题】目前,社会上对种种迷信现象笃信、盲从者不在少数,根源就在于思辨和理性的____。在社会的进步和发展中,科学精神是消除各种____,破除种种迷信的利器。科学精神的核心,就是不盲从、不迷信。 依次填入划横线部分最恰当的一项是( )

    【单选题】下面()不是合法的整数数字:

    【单选题】设用邻接矩阵 A 表示有向图 G 的存储结构,则有向图 G 中顶点 i 的入度为( )。

    【单选题】检索上海大学师生发表的有关区域创新方面的会议文献,以下检索表达式书写正确的是 ( )。

    【单选题】甲公司于 200 8 年 5 月 购得一幢登记用途为办公的两层临街房屋 , 首层建筑面积为 2000m 2 , 二层建筑面积为 1500m 2 , 该房屋于 2010 年 1 月出租给乙公司,租赁期限为 10 年 , 乙公司承租后将该房屋装修改造成酒楼 , 并在二层顶部加建了 500m 2 包房 , 2011 年 3 月甲公司以该房屋申请了 3 年期抵押贷款 , 201 4 年 8 月该房屋所在区域被列入征收范围,丙房地产估价机构分别于 2011 年、 2014 年接受委托 , 对该 房屋进 行了抵押估价和征收估价。 8 . 如甲公司 2014 年 3 月未能偿还贷款 , 关于该房屋处分的说法错误的是( )。

    【填空题】填写图中箭头所指结构的名称:

    【单选题】Hope you’ll enjoy the rest____ your trip in China.

    【单选题】张某于 2010 年 5 月购买了位于市中心的一套商品住房 , 分两期付款(间隔三个月) , 每期付一半 , 月利率为 0.5% 。张某购房后向银行申请了 5 年期抵押贷款。 2014 年 1 月 张某由于资金需要再次以该房屋向同一银行申请贷款 , 委托某房地产估价机构进行再次贷款抵押估价,注册房地产估价师选用 市场比较法 为估价方法之一 , 经市场调査发现该市商品住房价格自 201 0 年 以来处于稳定上涨状态。 1 、 估价对象的原购买价格( M ) 换算为成交日期一次性付清的价格为( )。

    【单选题】给出如下代码,以下选项中描述错误的是:‪‪‪‪‪‪‫‪‪‪‪‪‪‪‪‪‪‪‫‫‪‪‪‪‪‪‪‪‪‪‪‫‪‪‪‪‪‪

    【单选题】设 则( ).

    【填空题】选择,可选择的东西

    【判断题】跟单信用证开立的基础是销售合约,因此信用证下当事人不仅受信用证条款的约束,而且同时受销售合约条款的约束。

    【单选题】在能见度不良的开阔水域中航行与他船构成危险碰撞危险,从及早的要求考虑,采取避让行动的时机应比在能见度良好时要()对正横前的来船宜在两船相距()时采取大幅度避让的行动。

    【单选题】撰写“请示”必须_______。

    【单选题】检索表达式“机构=清华大学 and 关键词=人脸识别 and 文献类型=核心期刊”的含义是( )。

    【填空题】若曲线 和 在点 相切,其中 , 为常数,则 ____, ____.

    【多选题】5 月份电商的销售节点有__________。

    【填空题】已知 ,则 ____.

    【单选题】蜗牛参加了很多次动物运动会,成绩如下:跳高,零;跳远,不到一厘米;短跑,一小时一米;马拉松,到了下一届运动会开幕还没跑完,结果每次都没有得奖。今年,蜗牛参加了攀岩比赛,它速度不快,但却登上了顶峰,获得了冠军。 这个故事寓意最相符的是( )。

    【多选题】网络广告的收费方式有_________等。

    【单选题】以下选项中,对于函数的定义错误的是‪‪‪‪‪‪‫‪‪‪‪‪‪‪‪‪‪‪‫‫‪‪‪‪‪‪‪‪‪‪‪‫‪‪‪‪‪‪:

    【单选题】下面代码的输出结果是‪‪‪‪‪‪‫‪‪‪‪‪‪‪‪‪‪‪‫‫‪‪‪‪‪‪‪‪‪‪‪‫‪‪‪‪‪‪:

    【单选题】以下选项中,不属于函数的作用的是‪‪‪‪‪‪‫‪‪‪‪‪‪‪‪‪‪‪‫‫‪‪‪‪‪‪‪‪‪‪‪‫‪‪‪‪‪‪:

    【单选题】某网络百科基于移动互联网推出各种小百科全书,用户可以在各类手机应用商店中免费获取使用,但每一个小百科产品都有相关广告商的冠名。请问这属于__________价格策略。

    【单选题】下列函数中在区间 满足拉格朗日定理的条件的是( )

    【单选题】下面代码的输出结果是‪‪‪‪‪‪‫‪‪‪‪‪‪‪‪‪‪‪‫‫‪‪‪‪‪‪‪‪‪‪‪‫‪‪‪‪‪‪:

    【单选题】具有 2016 个结点的二叉树,其深度至少为 ( )。

    【单选题】( )

    【填空题】不友善的,不好的,恶毒的

    【单选题】下面代码的输出结果是‪‪‪‪‪‪‫‪‪‪‪‪‪‪‪‪‪‪‫‫‪‪‪‪‪‪‪‪‪‪‪‫‪‪‪‪‪‪:

    【单选题】下列表达式中,()不是合法的元组。

    【单选题】关于Python语言,以下说法错误的是():

    【单选题】购买某种产品或者服务时赠送其他产品或者服务的策略属于_________。

    【单选题】下列函数中,在 点可导的函数是

    【单选题】甲公司于 200 8 年 5 月 购得一幢登记用途为办公的两层临街房屋 , 首层建筑面积为 2000m 2 , 二层建筑面积为 1500m 2 , 该房屋于 2010 年 1 月出租给乙公司,租赁期限为 10 年 , 乙公司承租后将该房屋装修改造成酒楼 , 并在二层顶部加建了 500m 2 包房 , 2011 年 3 月甲公司以该房屋申请了 3 年期抵押贷款 , 201 4 年 8 月该房屋所在区域被列入征收范围,丙房地产估价机构分别于 2011 年、 2014 年接受委托 , 对该 房屋进 行了抵押估价和征收估价。 9. 关于该两次估价的技术处理的说法 , 正确的是( )。

    【填空题】处于困境

    【单选题】假设函数中不包括global保留字,对于改变参数值的方法,以下选项中错误的是‪‪‪‪‪‪‫‪‪‪‪‪‪‪‪‪‪‪‫‫‪‪‪‪‪‪‪‪‪‪‪‫‪‪‪‪‪‪:

    更多相关内容
  • MFC列表框实现可编辑功能

    千次阅读 2013-03-13 18:00:00
    列表控件上实现可编辑功能的原理非常简单,借助一个编辑控件即可达到目的。具体步骤如下:①从 CListCtrl派生一个子类,并拦截某个意味着进入编辑状态的消息,获取需要编辑的数据项的相关信息。所拦截的消息通常...

    1.基本原理

    在列表控件上实现可编辑功能的原理非常简单,借助一个编辑框控件即可达到目的。具体步骤如下:①从 CListCtrl派生一个子类,并拦截某个意味着进入编辑状态的消息,获取需要编辑的数据项的相关信息。所拦截的消息通常选择鼠标消息(例如双击),这样更容易确定数据项在列表控件中的位置(行号、列号)及其所占的区域。②将一个编辑框控件移动到待编辑数据项所在的区域上,装入待编辑的数据并显示出来,供用户进行修改。③编辑结束后将修改后的数据返回给列表控件,让其在对应的子项上显示新的数据。

    2.实现过程

    1)在VC 6.0中,新建一个基于对话框的项目,名称:Exam02。
    2)编辑对话框资源,删除IDOK 按钮和静态标签;保留IDCANCEL按钮,将其标题改为“退出”;添加一个列表控件,将其显示风格改为report。利用类向导为列表控件添加一个关联变量m_list(Type:CListCtrl)。在CExam02Dlg::OnInitDialog函数中添加如下代码:

     m_list.InsertColumn(0,_T("1"),LVCFMT_LEFT,100);
     m_list.InsertColumn(1,_T("2"),LVCFMT_LEFT,100);
     m_list.InsertColumn(2,_T("3"),LVCFMT_LEFT,100);
     m_list.InsertColumn(3,_T("4"),LVCFMT_LEFT,100);
     m_list.InsertItem(0,_T("123"));
     m_list.SetItemText(0,1,_T("c"));
     m_list.SetItemText(0,2,_T("d"));
     m_list.SetItemText(0,3,_T("e"));
     m_list.InsertItem(1,_T("456"));
     m_list.SetItemText(1,1,_T("f"));
     m_list.SetItemText(1,2,_T("g"));
     m_list.SetItemText(1,3,_T("h"));
     m_list.InsertItem(2,_T("789"));
     m_list.SetItemText(2,1,_T("i"));
     m_list.SetItemText(2,2,_T("j"));
     m_list.SetItemText(2,3,_T("k"));
     m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT ); 

    如果在此时运行程序,则显示一个普通的列表控件,不具备编辑功能(如下图所示)。

     可编辑的列表控件


     

    3)添加一个类:CEditListCtrl,继承自CListCtrl。
    注释掉 EditListCtrl.cpp文件中的 #include "Exam02.h"。该指令是类向导自动生成的,而CEditListCtrl类的实现并不依赖它。如不注掉它,将该类用于其他项目时,会无法编译。
    在 Exam02Dlg.h的头部添加:#include "EditListCtrl.h";将CListCtrl m_list;语句替换成CEditListCtrl m_list;(该操作将列表控件资源与CEditListCtrl类关联起来,效果与椭圆形按钮实现过程的步骤4相同)。
    此时程序的执行效果与步骤2是完全一样的。但控制列表控件行为的类已经换成CEditListCtrl了。接下来只需要对CEditListCtrl进行修改,就可以改变列表控件的行为了。
    4)添加一个类:CItemEdit,继承自CEdit。注意,虽然这个类单独生成一样可以使用,但其主要作用就是为 CEditListCtrl类服务。考虑到使用的方便性,将其放在CEditListCtrl的类定义文件中更为合适。
    具体方法如下:在生成新类 的对话框中,点击“Change”按钮(如左下图),在弹出的“Change Files”对话框中(如右下图所示),分别将头文件和实现文件指向editlistctrl.h和editlistctrl.cpp。
    可编辑的列表控件


              

    5)实现列表控件对鼠标双击事件的响应——编辑框的显示功能
    在CEditListCtrl类中添加如下一个私有成员变量:
     CItemEdit m_edit;//编辑框空间类对象
    在其构造函数中添加:

    m_edit.m_hWnd = NULL;
    添加一个私有成员函数ShowEdit,用于在待编辑区域显示一个编辑框。函数声明如下:
      void ShowEdit(BOOL bShow,int nItem,int nIndex,CRect rc = CRect(0,0,0,0));
    下面为该函数的实现代码:
    void CEditListCtrl::ShowEdit(BOOL bShow, int nItem, int nIndex, CRect rc)
    {
     // 如果编辑框对象尚未创建
        if(m_edit.m_hWnd == NULL)
     {
      //创建一个编辑框(大小为零)
      m_edit.Create(ES_AUTOHSCROLL|WS_CHILD|ES_LEFT
    |ES_WANTRETURN|WS_BORDER,CRect(0,0,0,0),this,IDC_EDIT);
      m_edit.ShowWindow(SW_HIDE);// 隐藏

      //使用默认字体
      CFont tpFont;
      tpFont.CreateStockObject(DEFAULT_GUI_FONT);
      m_edit.SetFont(&tpFont);
      tpFont.DeleteObject();
     }

     //如果bShow为true,显示编辑框
     if(bShow == TRUE)
     {
      CString strItem = CListCtrl::GetItemText(nItem,nIndex);//获取列表控件中数据项的内容
      m_edit.MoveWindow(rc);// 移动到子项所在区域
      m_edit.ShowWindow(SW_SHOW);//显示控件
      m_edit.SetWindowText(strItem);// 显示数据
      ::SetFocus(m_edit.GetSafeHwnd());//设置焦点
      //::SendMessage(m_edit.GetSafeHwnd(), EM_SETSEL, 0, -1);//使数据处于选择状态

      m_edit.SetSel(-1);

      m_edit.SetCtrlData(MAKEWPARAM(nIndex,nItem));
     }
     else
      m_edit.ShowWindow(SW_HIDE);
    }
    添加鼠标双击事件的响应函数,填写代码如下:
    void CEditListCtrl::OnLButtonDblClk(UINT nFlags, CPoint point)
    {
     // TODO: Add your message handler code here and/or call default
         CRect rcCtrl;        //数据项所在区域
      LVHITTESTINFO lvhti; //用于列表控件子项鼠标点击测试的数据结构
         lvhti.pt = point;  //输入鼠标位置
      int nItem = CListCtrl::SubItemHitTest(&lvhti);//调用基类的子项测试函数,返回行号
      if(nItem == -1)   //如果鼠标在控件外双击,不做任何处理
        return;
      int nSubItem = lvhti.iSubItem;//获得列号
      CListCtrl::GetSubItemRect(nItem,nSubItem,LVIR_LABEL,rcCtrl);
    //获得子项所在区域,存入rcCtrl
        ShowEdit(TRUE,nItem,nSubItem,rcCtrl); //调用自定义函数,显示编辑框

     CListCtrl::OnLButtonDblClk(nFlags, point);//调用基类鼠标鼠标双击事件的响应函数
    }

     

    可编辑的列表控件


        

    编译后执行,双击列表控件上某个子项,该处就会显示出一个编辑框,其中显示的数据与对应位置上的数据项相同(如左上图所示)。而且,该数据已经被全部选中(高亮显示),用户可以对其进行更改,只是新的数据无法在列表控件上显示。

     


    它还有一个小问题:当在列表控件的其他点击时,被双击过的编辑框不消失。下一步来解决这个问题。
    6)在 CEditListCtrl类中添加NM_CLICK消息的响应函数,隐藏编辑框的显示。
    代码如下:
    void CEditListCtrl::OnClick(NMHDR* pNMHDR, LRESULT* pResult)
    {
     // TODO: Add your control notification handler code here
      if(m_edit.m_hWnd != NULL)
      {
       DWORD dwStyle = m_edit.GetStyle();
       if((dwStyle&WS_VISIBLE) == WS_VISIBLE)
       {
        m_edit.ShowWindow(SW_HIDE);
       }
      
     *pResult = 0;
    }

    7)实现编辑完成后列表控件上的数据显示
    用户所作的编辑是在编辑框控件中进行的,若想让编辑后的结果在列表控件上正确显示,则需要向列表控件传递新的数据。在两个控件间传递数据的方法非常简单,调用源控件的GetWindowText函数将数据放在一个字符串类对象中,再调用目标控件的SetItemText函数将字串中内容显示出来即可。但是,我们还要考虑下面两个问题:数据何时传递,是否更新。用户在编辑框中进行数据编辑时,一般是以按下回车键或者鼠标点击到其他地方(编辑框失去焦点)作为编辑完成的确认,显然此时是传递数据的合适时机;如果在编辑过程中,用户不想对原来的数据作出更改,则会按下ESCAPE键以示放弃,也意味着要退出编辑状态,但不应对数据作出更新。上述三种事件的发生,列表控件是无法自动感知的,因此我们需要给它发送一个消息,它才能及时处理数据更新的问题。另外,还需要让列表控件知道它要更新哪个子项的数据。
    在 EditListCtrl.h的头部添加一个自定义消息:
    #define WM_USER_EDIT_END  WM_USER+1001
    为CEditListCtrl类添 加一个成员函数:
    LRESULT OnEditEnd(WPARAM wParam,LPARAM lParam = FALSE);
     将其声明语句移动到 DECLARE_MESSAGE_MAP()宏之前,添加afx_msg前缀。
     afx_msg LRESULT OnEditEnd(WPARAM wParam,LPARAM lParam = FALSE);
     在CEditListCtrl类的END_MESSAGE_MAP()宏之前插入:
     ON_MESSAGE(WM_USER_EDIT_END,OnEditEnd)
    【上述操作是添加自定义消息响应函数的一般方法。MFC无法自动建立自定义消息映射,所以需要手工完成。自定义消息不能与系统消息相冲突,一般选用WM_USER之后的某个数值。自定义消息的处理函数本质上也是类的成员函数,因此可以采用添加成员函数的方法生成。将其声明语句移到 DECLARE_MESSAGE_MAP()宏之前并添加afx_msg前缀只是为了增加程序的可读性,不这样做也不会影响程的功能。关键一步是 OnMessage宏的插入,它将自定义消息及其响应函数添加到消息列表之中。如果不执行该操作,则自定义消息不会被MFC的消息网络接收和处理。另外该宏必须放在BEGIN_MESSAGE_MAP宏和END_MESSAGE_MAP宏之间,否则编译无法通过。】

    在CItemEdit类中添加两个私有变量:
     BOOL m_bExchange;//是否进行数据交换
     DWORD m_dwData;//待编辑区域行列号信息
    添加两个公共成员函数:
     DWORD GetCtrlData();
     void SetCtrlData(DWORD dwData);

    实现代码如下:
    void CItemEdit::SetCtrlData(DWORD dwData)
    {
      m_dwData=dwData;
    }

    DWORD CItemEdit::GetCtrlData()
    {
      return m_dwData;
    }

    添加两个消息处理函数OnSetFocus和 OnKillFocus:
    void CItemEdit::OnSetFocus(CWnd* pOldWnd)
    {
     CEdit::OnSetFocus(pOldWnd);
     // TODO: Add your message handler code here
        m_bExchange = TRUE; 
    }

    void CItemEdit::OnKillFocus(CWnd* pNewWnd)
    {
     CEdit::OnKillFocus(pNewWnd);
     // TODO: Add your message handler code here
     CWnd* pParent = this->GetParent();
     ::PostMessage(pParent->GetSafeHwnd(),WM_USER_EDIT_END,m_bExchange,0);
    }

    填写OnEditEnd函数的代码如下:
    LRESULT CEditListCtrl::OnEditEnd(WPARAM wParam, LPARAM lParam)
    {
     if(wParam == TRUE)
     {
      CString strText(_T(""));
      m_edit.GetWindowText(strText);
      DWORD dwData = m_edit.GetCtrlData();
      int nItem= dwData>>16;
       int nIndex = dwData&0x0000ffff;
       CListCtrl::SetItemText(nItem,nIndex,strText);
      }
      else
        
      }

        if(lParam == FALSE)
           m_edit.ShowWindow(SW_HIDE);
      return 0;
    }
    编译后执行,鼠标双击某个字段,键入新的文本后,点击列表框的其他地方,新的数据在列表控件中正确显示了(如下图所示)。

     


     

    但是,当我们在编辑框中输入回车或Esc键时,整个对话框却退出了。为什么呢,还没有对这两个键盘消息进行拦截。
    改 写CItemEdit类的虚拟成员函数:PreTranslateMessage,添加如下代码:

    BOOL CItemEdit::PreTranslateMessage(MSG* pMsg)
    {
     // TODO: Add your specialized code here and/or call the base class
     if(pMsg->message == WM_KEYDOWN)
     {
      if(pMsg->wParam == VK_RETURN)
      {
       CWnd* pParent = this->GetParent();
       m_bExchange = TRUE;
       ::PostMessage(pParent->GetSafeHwnd(),WM_USER_EDIT_END,m_bExchange,0);
       return true;
      }
      else if(pMsg->wParam == VK_ESCAPE)
      {
               CWnd* pParent = this->GetParent();
            m_bExchange = FALSE;
       ::PostMessage(pParent->GetSafeHwnd(),WM_USER_EDIT_END,m_bExchange,0);
       return true;
      }
     }
     return CEdit::PreTranslateMessage(pMsg);
    }
    现在,当编辑框处于编辑状态时,回车键和Esc键可以被正常响应了(如下图所示)。

     


     

    至此,可编辑列表控件的基本功能就已经实现了。但是当用户需要对列表中的多个数据作出修改时,依次双击需要修改的字段就太麻烦了。能否像Eexel表格一样,通过按下某些控制键来实现行列之间的快速跳转呢?

    3.强化功能

    根据习惯,这里采用Tab键跳转到下一字段(如果到行尾,则跳到下一行的第一个字段);Shift+Tab键跳转到上一字段(如过到行头则跳到上一行的行尾);Ctrl+Tab键跳转到下一行的同一字段(到最后一行则跳回第一行)。实现原理则是捕获按键消息。具体实现过程如下:
    1) 在CEditListCtrl类中,改写虚拟成员函数PreTranslateMessage,添加如下代码:

    BOOL CEditListCtrl::PreTranslateMessage(MSG* pMsg)
    {
     // TODO: Add your specialized code here and/or call the base class
     if(pMsg->message == WM_KEYDOWN)
     {
      //拦截Tab键
      if(pMsg->wParam == VK_TAB && m_edit.m_hWnd!= NULL)
      {
       //检测编辑框是否处于显示状态
        DWORD dwStyle = m_edit.GetStyle();
       if((dwStyle&WS_VISIBLE) == WS_VISIBLE)
       {
            OnEditEnd(TRUE,TRUE);//更新前一个子项的数据
         CRect rcCtrl;  
         int nItem;
         int nSub;
                    Key_Shift(nItem,nSub);//调用Key_Shift更改行号及列号
         //获得跳转后子项区域
                     CListCtrl::GetSubItemRect(nItem,nSub,LVIR_LABEL,rcCtrl);
         //进入编辑状态
         CPoint pt(rcCtrl.left+1,rcCtrl.top+1);
         OnLButtonDblClk(0,pt);

         //控制行被选中状态
         POSITION pos = CListCtrl::GetFirstSelectedItemPosition();
         if (pos == NULL)
         { }
         else
         {
          while (pos)
          {
           int ntpItem = CListCtrl::GetNextSelectedItem(pos);
           CListCtrl::SetItemState(ntpItem,0,LVIS_SELECTED);
          }
         }
         CListCtrl::SetItemState(nItem,  LVIS_SELECTED,  LVIS_SELECTED);
         return TRUE;
       }
      }
      }
     return CListCtrl::PreTranslateMessage(pMsg);
    }

    2)添加一个私有成员函数Key_Shift,添加代码如下:

    void CEditListCtrl::Key_Shift(int &nItem, int &nSub)
    {
      //列表总行数
      int nItemCount = CListCtrl::GetItemCount();
      //当前编辑框所在位置
      DWORD dwData = m_edit.GetCtrlData();
      nItem= dwData>>16;
      nSub = dwData&0x0000ffff;
      //获取标题控件指针
      CHeaderCtrl* pHeader = CListCtrl::GetHeaderCtrl();
      if(pHeader == NULL)
       return;
     
      // 检测SHIFT键的状态,最高位为1-触发;0-未触发
      short sRet = GetKeyState(VK_SHIFT);
      int nSubcCount = pHeader->GetItemCount();//总列数
      sRet = sRet >>15;
     
      if(sRet == 0)//未触发
      {
       nSub += 1;//列号递增
       if(nSub >= nSubcCount)//到行尾
       {
        if(nItem == nItemCount-1)//到表尾,跳回表头
        {
         nItem = 0;
         nSub  = 0;
        }else //未到表尾,跳到下一行行首
        {
         nSub = 0;
         nItem += 1;
        }
       }
       
       if(nItem >= nItemCount)
        nItem = nItemCount-1;
      }
      else//触发
      {
       nSub -= 1;//列号递减
       if(nSub < 0)//到行首,跳到上一行行尾
       {
        nSub = nSubcCount -1;
        nItem --;
       }
       if(nItem < 0)//到表首,跳到表尾
        nItem = nItemCount-1;
        }
    }

    这样就实现了Tab及Shift键的跳转功能,同理易于实现Ctrl+Tab的功能。

    3)添加一个私有成员函数Key_Ctrl,添加代码如下:
    BOOL CEditListCtrl::Key_Ctrl(int &nItem, int &nSub)
    {
        short sRet = GetKeyState(VK_CONTROL);
      DWORD dwData = m_edit.GetCtrlData();
      nItem= dwData>>16;
      nSub = dwData&0x0000ffff;
     
      sRet = sRet >>15;
      int nItemCount = CListCtrl::GetItemCount();
      if(sRet != 0)
      {
       nItem = nItem >=nItemCount-1? 0:nItem+=1;
       return TRUE;
      }
      return FALSE;
    }

    同时在CEditListCtrl::PreTranslateMessage函数的 Key_Shift(nItem,nSub);语句之前添加

         if(FALSE == Key_Ctrl(nItem,nSub))
     即可。

    4.该类的使用

    生成的可编辑列表控件类CEditListCtrl,其使用方法与CListCtrl类基本相同。由于相关的代码都包含在EditListCtrl.h和EditListCtrl.cpp文件之中,只需要将这两个文件拷贝到引用它的工程目录并加入到工程,然后在使用它的类中包含EditListCtrl.h即可使用。对于对话框或FormView等允许在资源编辑器中添加列表控件的窗口类来说,首先需要按常规将列表控件资源与CListCtrl变量进行关联,然后将该变量声明语句中的CListCtrl改成CEditListCtrl即可。对于一般的窗口类(例如 View类),则需要声明一个CEditListCtrl类型的成员变量,再利用其Create成员函数动态创建。下图为在View类的客户区中,动态创建可编辑列表控件的实例。

     



    可编辑的列表控件

    展开全文
  • 第1章 Python程序设计概述单元测验11、下列选项中,不属于Python语言特点的是A、面向对象B、运行效率高C、可读性好D、开源2、以下叙述正确的是A、Python3.x和Python2.x兼容B、Python语言只能以程序方式执行C、Python...

    第1章 Python程序设计概述

    单元测验1

    1、下列选项中,不属于Python语言特点的是

    A、面向对象

    B、运行效率高

    C、可读性好

    D、开源

    2、以下叙述正确的是

    A、Python3.x和Python2.x兼容

    B、Python语言只能以程序方式执行

    C、Python是解释性语言

    D、Python语言出现的晚,具有其他高级语言的一切优点

    3、下列关于Python的说法中,错误的是

    A、Python是从ABC语言发展起来的

    B、Python是一门高级的计算机语言

    C、Python是一门只面向对象的语言

    D、Python是一种代表简单主义思想的语言

    4、python程序文件的扩展名是

    A、.python

    B、.py

    C、.pt

    D、.pyt

    5、Python语言属于

    A、机器语言

    B、汇编语言

    C、高级语言

    D、科学计算语言

    6、Python这个单词是什么含义?‪‪‪‪‪‪‪‪‪‪‪‫‪

    A、喵星人

    B、蟒蛇

    C、石头

    D、袋鼠

    7、Python语言采用严格的“缩进”来表明程序的格式框架。下列说法不正确的是:‪‪‪‪‪‪‪‪‪‪‪‫‪

    A、缩进指每一行代码开始前的空白区域,用来表示代码之间的包含和层次关系。

    B、代码编写中,缩进可以用Tab键实现,也可以用多个空格实现,但两者不混用。

    C、“缩进”有利于程序代码的可读性,并不影响程序结构。

    D、不需要缩进的代码顶行编写,不留空白。

    8、下列选项中,不属于Python语言特点的是

    A、面向对象

    B、运行效率高

    C、可读性好

    D、开源

    9、在Python集成开发环境中,可使用()快捷键运行程序。

    A、Ctrl+S

    B、F5

    C、Ctrl+N

    D、F1

    10、Python是一种跨平台、开源、免费的高级动态编程语言。

    11、在windows平台上编写的Python程序无法在Unix平台运行。

    12、Python既支持面向对象编程,也支持面向过程编程模式。

    第2章 数据类型、运算符和表达式

    单元测试2

    1、表达式16/4-2**5*8/4%5/2的值为

    A、14

    B、4

    C、2.0

    D、2

    2、计算表达式 1234%1000//100 的值为

    A、1

    B、2

    C、3

    D、4

    3、下列表达式的值为True的是

    A、2!=5 or 0

    B、3>2>2

    C、1 and 5==0

    D、1 or True

    4、与关系表达式x==0等价的表达式是

    A、x=0

    B、not x

    C、x

    D、x!=1

    5、Python表达式中,可以控制运算优先顺序的是

    A、圆括号()

    B、方括号[]

    C、大括号{}

    D、尖括号<>

    6、关于Python中的复数,下列说法错误的是

    A、表示复数的语法是real+imagej

    B、实部和虚部都是浮点数

    C、虚部必须后缀j,且必须是小写

    D、complex(x)会返回以x为实部,虚部为0的复数

    7、下面哪个不是Python合法的标识符

    A、int32

    B、40XL

    C、self

    D、_name_

    8、下列哪个语句在Python中是非法的?

    A、x=y=z=1

    B、x=(y=z+1)

    C、x,y=y,x

    D、x+=y

    9、已知x=2,语句x*=x+1执行后,x的值是

    A、2

    B、3

    C、4

    D、6

    10、下列表达式中,值不是1的是

    A、4//3

    B、15%2

    C、1 and True

    D、1 or True

    11、Python 语句x=’car’; y = 2; print (x+y)的输出结果是

    A、2

    B、"car2’

    C、"carcar’

    D、语法错

    12、Python 表达式math.sqrt(4)*math.sqrt(9)的值为

    A、6.0

    B、36.0

    C、13.0

    D、6

    13、一个变量只能存储一个字符

    14、程序中的变量代表内存中的一个存储单元,它的值不可以随时修改

    15、python中,一个字符型数据与整型数据可以互相赋值。

    16、语句标号用标识符表示,它的定名规则与变量名相同,即由字母、数字和下划线组成,其第一个字符必须为字母或下划线

    17、逻辑运算符中的“&&”和“||”低于关系运算符,“!”高于算术运算符

    18、关系表达式的值是一个逻辑值,它的值为“真”或“假”。逻辑表达式的值也是一个逻辑量,它的值也为“真”或“假”

    19、python中认为名为Student和student的变量是不同变量

    20、用户所定义的标识符允许使用关键字

    21、已知x = 3,那么赋值语句x = "abcedfg"是无法正常执行的

    22、python变量使用前必须先声明,并且一旦声明就不能在当前作用域内改变其类型了

    23、在python中可以使用if作为变量名

    24、加法运算符可以用来连接字符串并生生成新的字符串

    25、3+4j不是合法的python表达式

    26、4j是合法python数字类型

    27、一个数字5也是合法的python表达式

    第3章 输入与输出

    在线练习3

    1、Python语句print(0xA+0xB)的运行结果是:

    A、0xA+0xB

    B、A+B

    C、0xA0xB

    D、21

    2、为了给整型变量a、b、c赋初值10,下面正确的python语句是:

    A、xyz=10

    B、x=10 y=10 z=10

    C、x=y=z=10

    D、x=10,y=10,z=10

    3、已知字符"A"的ASCII值是65,字符变量c1的值是"A",c2的值是"D",执行语句print("%d,%d"%(c1,ord(c2)-2))后,输出结果是:

    A、A,B

    B、A,66

    C、65,66

    D、65,B

    4、语句x=input()执行时,如果从键盘输入12并按回车键,则x的值是:

    A、12

    B、12.0

    C、"12"

    D、(12)

    5、Python 3.x语句 print(1, 2, 3, sep=":") 的输出结果是:

    A、1 2 3

    B、123

    C、1:2:3

    D、1,2,3

    6、在Python 3.x中,使用内置函数input()接收用户输入时,不论用户输入的什么格式,一律按字符串进行返回

    7、Python运算符%不仅可以用来求余数,还可以用来格式化字符串。

    8、为了输出",可以使用如下语句print(""")。

    9、Python变量名区分大小写,所以student和Student不是同一个变量。

    10、字符串"Hello Python"中" "表示换行。

    编程题目3

    1、输入一矩形的长和宽,计算并输出矩形的面积。

    2、输入三个整数,求这三个数的和以及平均值,并在屏幕上输出。

    3、输入一个三位整数x(999=>x>=100),将其分解出百位、十位、个位,并求出各位之和以及各位之积

    4、已知三角形的三边 a、b、c,,求其面积S。(提示:假设有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:S=sqrt(p(p-a)(p-b)(p-c)),而公式里的p是半周长:p=(a+b+c)/2

    5、从键盘上输入一个大写字母,将该大写字母转换成小写字母并输出。

    第4章 选择结构程序设计

    在线练习4

    1、执行下列Python语句将产生的结果是( )。 x=2 y=2.0 if(x==y): print(“Equal”) else: print(“No Equal”)

    A、Equal

    B、Not Equal

    C、编译错误

    D、运行时错误

    2、下列程序运行结果是 a=3 b=5 if a>b: a,b=b,a print ("从小到大输出:") print(a,b)

    A、3 5

    B、从小到大输出: 3 5

    C、从小到大输出: 3,5

    D、从小到大输出:3,5

    3、if else是

    A、判断结构

    B、选择结构

    C、分支结构

    D、循环结构

    4、python语言对嵌套if语句的规定是:else总是与

    A、其之前最近的if配对

    B、第一个if配对

    C、缩进位置相同的if配对

    D、其之前最近且尚未配对的if配对

    5、当你输入95时,下列程序运行的结果是 results = int(input("成绩为:")) if 100>=results>=90: print("A") elif 90>results>=75: print("B") elif 0<=results<75: print("C") else: print("输入错误!")

    A、A

    B、B

    C、C

    D、输入错误!

    6、如下代码可以实现当输入6的时候输出x>5,输入4的时候输出 3<=5,输入1的时候输出x<=3

    7、如下两段代码功能一样,程序结构也一样 第一段: if a < 0: print("<0") if a == 0: print("=0") if a > 0: print("a>0") 第二段: if a < 0: print("<0") elif a == 0: print("=0") elif a > 0: print("a>0")

    编程题目4

    1、求一元二次方程的解

    2、求x到y之间(包含x,y)所有的素数

    3、求最大值

    4、字符串统计

    5、整数排序

    第5章 循环结构程序设计

    在线练习5

    1、执行range(2,10,2)后运行结果是:

    A、[2,4,6,8]

    B、[2,4,6,8,10]

    C、(2,4,6,8)

    D、(2,4,6,8,10)

    2、选出对下列语句不符合语法要求的表达式: for var in _________ : print(var)

    A、range(0,10)

    B、”Hello”

    C、(1,2,3)

    D、{1,2,3,4,5}

    3、若k为整形, 下述while循环执行的次数为 k=1000 while k>1: print(k) k = k/2

    A、9

    B、10

    C、11

    D、1000

    4、下列for循环执行后,输出结果的最后一行是 for i in range(1,3): for j in range(2,5): print(i*j)

    A、2

    B、6

    C、8

    D、15

    5、下列程序的结果是 sum=0 for i in range(100): if(i%10): continue sum=sum+i print(sum)

    A、5050

    B、4950

    C、450

    D、45

    6、下面程序中语句print(i*j)共执行了_次。 for i in range(5): for j in range(2,5): print(i*j)

    A、12

    B、14

    C、15

    D、20

    7、下面哪个语句不能完成1到10的累加功能, total初值为0。

    A、for i in range(10,0):total+=i

    B、for i in range(1,11):total+=i

    C、for i in range(10,0,-1):total+=i

    D、for i in (10,9,8,7,6,5,4,3,2,1):total+=i

    8、for i in range(10): …… 中 ,i的循环终值是

    A、9

    B、10

    C、11

    D、12

    9、下面代码的输出结果是 for i in range(3): print(5,end=",")

    A、5,5,5

    B、5,5,5,

    C、5 5 5,

    D、5 5 5

    10、continue语句用于

    A、退出循环程序

    B、结束本次循环

    C、空操作

    D、引发异常处理

    11、如果仅仅是用于控制循环次数,那么使用for i in range(20)和for i in range(20, 40)的作用是等价的。

    12、带有else子句的循环如果因为执行了break语句而退出的话,则会执行else子句中的代码。

    13、for n in range(2,8,2): print(n,end=" ") 这段程序输出结果是:2 4 6

    14、强制退出当前所在循环结构的关键字是continue。

    15、语句while (!y):中的!y等价于y!=0。

    16、continue用来跳出最内层for或while循环,退出该循环后程序从循环代码后继续执行; break用来结束当前当次循环。

    17、在Python语言里,循环结构必须有else子句。

    编程题目5

    1、求S的和。

    2、图形打印。

    3、追查车号。

    第6章 序列

    在线练习6

    1、已知x=[1,2,3],执行语句x.append(5)之后,x的值是什么

    A、[1,2,3,5]

    B、[1,2,3]

    C、[5]

    D、5

    2、list("abcd")的结果是

    A、"abcd"

    B、["a", "b", "c", "d"]

    C、["abcd"]

    D、"a", "b", "c", "d"

    3、已知list1 = [1, 2, 3, 4, 5, 4, 3, 2, 1],list1[:-1]的值是

    A、[1, 2, 3, 4, 5, 4, 3, 2, 1]

    B、[0, 1, 2, 3, 4, 3, 2, 1, 0]

    C、[1, 2, 3, 4, 5, 4, 3, 2]

    D、[1]

    4、已知x=[8,7,6,5,4,3,2,1],那么x.pop(2)的结果是

    A、2

    B、3

    C、6

    D、7

    5、能将5加到列表list1的末尾的语句是

    A、list1.add(5)

    B、list1.insert(5)

    C、list1.extend(5)

    D、list1.append(5)

    6、假设: ls=[1,2,3,4,5] lt=ls ls[4]=1 print(lt[4]) 输出结果是:

    A、1

    B、3

    C、4

    D、5

    7、字符串函数strip()的作用是

    A、连接两个字符串序列

    B、替换字符串中特定字符

    C、按照指定字符分割字符串为数组

    D、去掉字符串两侧空格或指定字符

    8、#003200390035003700391575193417527获得字符串s长度的方法是什么

    A、s.len()

    B、s.length()

    C、len(s)

    D、length(s)

    9、字符串是一个字符序列,对字符串s,从右侧向左第3个字符使用哪种方式索引

    A、s[3]

    B、s[-3:]

    C、s[0:-3]

    D、s[-3]

    10、x=(4, 5, 6),执行如下代码会有什么结果? x[1] = 1 print(x)

    A、(4,1,6)

    B、(1,5,6)

    C、(4,1,5,6)

    D、出错

    11、对于字典d={"abc":1,"qwe":3,"zxc":2} ,len(d)的结果是( )。

    A、3

    B、6

    C、12

    D、1

    12、以下关于字典的说法错误的是( )。

    A、字典中元素以键信息为索引访问。

    B、字典中,一个键信息只对应一个值信息。

    C、字典可以对键信息赋值。

    D、字典的长度是不可变的。

    13、以下关于列表的描述错误的是( )。

    A、元素类型可以不同

    B、必须按顺序插入元素

    C、长度没有限制

    D、支持in运算符

    14、Python列表、元组、字符串都属于有序序列。

    15、元组tuple是属于可变对象。

    16、已知x是一个列表,那么x = x[3:] + x[:3]可以实现把列表x中的所有元素循环左移3位。

    17、元组是不可变的,不支持列表对象的inset()、remove()等方法,也不支持del命令删除其中的元素,但可以使用del命令删除整个元组对象。

    18、语句a = 1,2,3有语法错误。

    19、已知x是个列表对象,那么执行语句y = x之后,对y所做的任何操作都会同样作用到x上。

    20、使用Python列表的方法insert()为列表插入元素时不会改变列表中插入位置之后元素的索引。

    21、tuple(x):可以用于生成元组,输入的参数可以是任何组合数据类型。

    22、字符串对象和元组对象是不可变对象,列表对象为可变对象。

    23、已知st="Hello World!",使用print(st[0:-1])语句可以输出字符串变量st中的所有内容。

    24、字符串"Hello Python"中" "表示换行。

    编程题目6

    1、列表去重

    2、删除指定字符

    3、列表排序

    4、杨辉三角

    第7章 字典和集合

    在线练习7

    1、以下哪个方式可以创建一个空的集合?

    A、set()

    B、{}

    C、[]

    D、()

    2、以下哪一句会得到{"1","2","3"}?

    A、list("123")

    B、tuple("123")

    C、set("123")

    D、dict("123")

    3、对于两个集合s1和s2,s1 < s2的指

    A、s1的大小小于s2的大小

    B、s1的元素比s2的小

    C、s1是s2的真子集

    D、s2是s1的真子集

    4、对于集合s,以下哪个操作是不存在的?

    A、len(s)

    B、s.append(1)

    C、max(s)

    D、s - {1}

    5、对于正确的表达式a[2],a不可能是以下哪个类型?

    A、列表

    B、元组

    C、字典

    D、集合

    6、元组可以作为字典的“键”。

    7、Python字典中的“值”不允许重复。

    8、Python支持使用字典的“键”作为下标来访问字典中的值。

    9、在字典里,同一个键可以对应两个或多个值。

    10、如果a是一个列表,则语句a=list(set(a))可以删除a中的重复元素。

    11、表达式 {1, 3, 2} > {1, 2, 3} 的值为True。

    12、Python集合中的元素不允许重复。

    13、a={},type(a)结果是 。

    14、set(x):可以用于生成集合,输入的参数可以是任何组合数据类型,返回结果是一个无重复且有序的集合。

    15、Python集合中的元素可以是元组。

    16、Python字典和集合支持双向索引。

    17、Python字典和集合属于无序序列。

    编程题目7

    1、统计并输出字符串中小写元音字母的个数

    2、能被7、9和11整除的数的个数(用集合实现)

    第8章 函数

    在线练习8

    1、对于函数定义代码的理解,正确的是

    A、必须存在形参

    B、必须存在return语句

    C、形参和return语句都是可有可无的

    D、形参和return语句要么都存在,要么都不存在

    2、在一个函数中如局部变量和全局变量同名,则

    A、局部变量屏蔽全局变量

    B、全局变量屏蔽局部变量

    C、全局变量和局部变量都不可用

    D、程序错误

    3、下面程序段的输出为 def f1(a,b,c): print(a+b) nums=(1,2,3) f1(nums)

    A、1

    B、3

    C、6

    D、语法错

    4、以下哪个函数定义正确:

    A、def func1(): return 1

    B、def func1() return 1

    C、def func1(): x = 5 y = 6 return x+y

    D、def func1(): pass

    5、print(type(lambda:3))的输出结果是

    A、 B、 C、 D、 6、下面程序段的输出为 a=1 def fun(a): a=a+2 print(a) fun(a) print(a)

    A、3 1

    B、4 1

    C、1 1

    D、3 3

    7、下面关于函数的说法,正确的是

    A、函数可以不定义,就可以直接使用

    B、函数是程序的抽象,通过封装实现代码复用,可以利用函数对程序进行模块化设计

    C、函数定义的位置没有要求,可以先调用,最后对函数定义

    D、函数不可以对自己调用,只能调用别的函数

    8、如果函数定义为def hello(username): ,则对该函数的调用不合法的是

    A、hello ("Alice")

    B、hello ("Alice")

    C、hello ()

    D、hello (username=" Alice")

    9、以下关于Python内置函数的描述,错误的是

    A、sorted() 对一个序列类型数据进行排序,将排序后的结果写回到该变量中

    B、id() 返回一个变量的一个编号,是其在内存中的地址

    C、max()返回一个序列类型数据中最大值

    D、type() 返回一个对象的类型

    10、在Python中导入其他函数库的关键字是

    A、include

    B、from

    C、import

    D、into

    11、以下哪个程序段是使用递归函数实现1到100求和

    A、def product1(num): product=1 for i in range(1,num+1): product=product *i return product print(product1(10))

    B、def sum1(num): sum2=0 for i in range(1,num+1): sum2+=i return sum2 print(sum1(100))

    C、def product2(num): if num==1: return 1 else: return num *product2(num-1) print(product2(10))

    D、def sum_a(num1): if num1==1: return 1 else: return num1+sum_a(num1-1) print(sum_a(100))

    12、在函数中使用return语句可以返回值,所以函数中的return语句后一定要有值。

    13、定义函数时,即使该函数不需要接收任何参数,也必须保留一对空的圆括号来表示这是一个函数。

    14、定义Python函数时必须指定函数返回值类型。

    15、定义函数时,带有默认值的参数必须出现在参数列表的最右端,任何一个带有默认值的参数右边不允许出现没有默认值的参数。

    16、在调用函数时,可以通过关键参数的形式进行传值,从而避免必须记住函数形参顺序的麻烦。

    在线作业

    1、实现一个计算非负整数阶乘的简单函数,并利用该函数求 1!+2!+3!+...+n! 的值。

    2、求鞍点

    结业考试

    1、下面哪个不是Python合法的变量名( )

    A、my

    B、__name__

    C、10XL

    D、x32

    2、下面的循环体执行的次数与其它不同的是:( )

    A、for i in range(100): print(i)

    B、for i in range(100,0,-1): print(i)

    C、i=0 while(i<=100): print(i) i=i+1

    D、i = 100 while(i>0): print(i) i=i-1

    3、使用Python语言编写的源程序保存时的文件扩展名是( )。

    A、.java

    B、.txt

    C、.py

    D、.class

    4、已知x=2,语句x*=x+1执行后,x的值是( ).

    A、6

    B、2

    C、3

    D、9

    5、下列哪个语句在Python中是非法的?

    A、x=y=z=1

    B、x=(y=z+1)

    C、x,y=y,x

    D、x+=y

    6、Python 3.x中,语句x=input()执行时,如果从键盘输入12并按回车键,则x的值是:( )

    A、12

    B、12.0

    C、(12)

    D、"12"

    7、下列程序运行结果是: a=3 b=5 if a>b: a,b=b,a print ("从小到大输出:") print (a,b)

    A、3,5

    B、3 5

    C、5,3

    D、5 3

    8、若k为整形, 下述while循环执行的次数为:( ) k=1000 while k>1: print(k) k = k/2

    A、10

    B、9

    C、11

    D、1000

    9、下列程序的结果是:( ) sum=0 for i in range(100): if(i%10): continue sum=sum+i print(sum)

    A、45

    B、5050

    C、450

    D、4950

    10、以下关于元组的描述正确的是( )

    A、创建元组tup:tup = ()

    B、创建元组tup:tup = (50)

    C、元组中的元素允许被修改

    D、元组中的元素允许被删除

    11、下列程序运行结果是:( ) a=[1,2,1,2,3,3,3,3] result=0 for i in a: result+=i print (result)

    A、16

    B、15

    C、17

    D、18

    12、已知列表x = list(range(5)),那么执行语句x.remove(3)之后,表达式x.index(4)的值为:( )

    A、4

    B、3

    C、1

    D、2

    13、以下不能创建一个字典的语句是( )

    A、dict4 = dict(([1,2],[3,4]))

    B、dict1 = {}

    C、dict4 = {3:5}

    D、dict3 = dict([2,5],[3,4])

    14、以下叙述正确的是:( )

    A、Python3.x和Python2.x兼容

    B、Python是解释性语言

    C、Python语言只能以程序方式执行

    D、Python语言出现的晚,具有其他高级语言的一切优点

    15、为了给整型变量x、y、z赋初值10,下面正确的python语句是:( )

    A、x=10 y=10 z=10

    B、x=10,y=10,z=10

    C、xyz=10

    D、x=y=z=10

    16、python语言对嵌套if语句的规定是:else总是与()

    A、缩进位置相同的if配对

    B、其之前最近的if配对

    C、其之前最近且尚未配对的if配对

    D、第一个if配对

    17、下列for循环执行后,输出结果的最后一行是: for i in range(1,3): for j in range(2,5): print(i*j)

    A、6

    B、2

    C、8

    D、15

    18、Python是一种跨平台、开源、免费的高级动态编程语言。

    19、逻辑运算符中的“&&”和“||”低于关系运算符,“!”高于算术运算符

    20、在python中可以使用if作为变量名.

    21、3+4j不是合法的python表达式.

    22、已知x = 3,那么赋值语句x = "abcedfg"是无法正常执行的.

    23、程序中的变量代表内存中的一个存储单元,它的值不可以随时修改.

    24、如果仅仅是用于控制循环次数,那么使用for i in range(20)和for i in range(20, 40)的作用是等价的。

    25、for n in range(2,8,2): print(n,end=" ") 这段程序输出结果是:2 4 6

    展开全文
  • 如上图所示,必须要按顺序选择省市区。未选择省之前,没有城市可选择,未选择城市之前,没有区可选择。代码如下: ...还有一种比较复杂的情况,多个下拉列表框是相关联的,只有前面一个选...
    16053156-3c181cf35e29a98e.png

    如上图所示,必须要按顺序选择省市区。未选择省之前,没有城市可选择,未选择城市之前,没有区可选择。

    代码如下:

    16053156-8e48dc0333df8809.png
    16053156-9dac03392b54f30a.png

    关键是怎样在自动填写省后,调出对应的市,填写市后,调出对应的区。

    在网页表单中,经常会出现可选择的列表或下拉列表框,只需要通过鼠标或键盘选择第几个就行了。还有一种比较复杂的情况,多个下拉列表框是相关联的,只有前面一个选择好了,后一个下拉列表框才有内容可选,我们称之为“级联下拉列表框”。下面介绍一下这些列表框及下拉列表框的4种自动填写方法。

    现在请出本文的主角《网页自动提交监控工具》,也可以用《网页自动操作通用工具》,因为后者包含前者所有功能。

    第一步是添加表单网址

    16053156-05c4fc65ccb0187e.png

    第二步:添加提交内容,共有四种方法

    16053156-4413a3cbe85d821e.png

    选择下拉列表框元素:我们在使用自动获取元素时,与其它元素获取方法不同,需要将鼠标停放在下拉列表框处,再按下键盘的“Alt+T"才能获取元素。

    方法1、设置下拉列表框元素的”value”属性,一般需要分析源码,我们可以得到下拉列表框的每一项的“value”属性值。利用此方法,我们甚至可以在没有显示出列表内容时填写。 

    16053156-2622bd344c656728.png

    方法2、设置下拉列表框元素的“selectindex“属性,该值表示选择第几项内容。 

    16053156-3d6cd135feb9cb02.png

    方法3、设置下拉列表框的显示值,这里我们给下拉列表框元素增加一个“text”属性来表示,对应已选中选项的“text”属性值。“text”并非下拉列表框元素的标准属性,仅在我们的软件中得到支持。 

    16053156-3f193a957bc1fae8.png

    方法4、通过模拟键盘操作,实现下拉列表框的自动选择。首先正确获取下拉列表框元素,设置元素属性为“[keyboard]”,属性值为“{down}”,选择第几个就重复多少次,如”{down 10}“。(注意:所有键盘操作程序不能后台运行,不能切换窗口。)

    16053156-fb4213485835bbdb.png
    展开全文
  • 相关问题智慧,职教,list,style,type,属性,列表项,标记,类型,列表,中,列表项,默认,标记,列表项,旁边,实心,圆,年金,现值,时,现值,函数,参数,中,type,值,按钮,type,reset,Type,热电偶,温度,热电偶,输出,时刻,热电势,...
  • spring框架测试题

    千次阅读 2020-04-28 17:49:07
    1.[单选题] 以下关于Spring核心容器相关说法错误的是()。 A.Spring框架的所有功能都是通过其核心容器来实现的 B.创建BeanFactory实例时,需要提供Spring所管理容器的详细配置信息,这些信息通常采用XML文件形式来管理 ...
  • 一、中文单项选择题1.下列哪个语句在Python中是非法的?A、x = y = z =1 B、x = (y = z + 1)C...关于Python内存管理,下列说法错误的是A、变量不必事先声明 B、变量无须先创建和赋值而直接使用C、变量无须指定类型...
  • Word2010怎样为段落加上边框

    千次阅读 2021-07-26 02:33:33
    人们在使用Word2010编辑文档的过程中,可以根据实际需要为特定段落加上漂亮的边框...3、在列表中选择符合我们需要的边框,例如我们可以选择“外侧线”选项,使所选段落的周围均添加边框。二、设置边框格式1、在“...
  • R语言数据类型有向量、矩阵、数据列表下面我们来深入了解下: vector 的划分 R中的vector分为两类,atomic和list,二者的区别在于,前者元素类型必须相同,后者可以不同。前者的代表是向量和矩阵,后者的代表...
  • TensorFlow框架

    万次阅读 多人点赞 2018-10-24 08:58:27
    基本概念 基于TensorFlow的神经网络:用张量表示数据,用计算图搭建神经网络,用会话执行计算图,...张量(tensor):多维数组(列表) 阶:张量的维数 维数 阶 名字 例子 0-D 0 标量 scalar s=123 1-D 1 ...
  • 列表的样式在CSS中,列表元素是一个块列表中的每个表项也是一个块,只是在表项前面多了一个项目符号。列表的格式化,主要由浏览器完成,而不是由设计人员完成。设计人员只能通过 list-style属性来定义列表的...
  • from:http://blog.sina.com.cn/s/blog_553a56290102xez6.html当使用Source Insight4.0新建工程...在以往的Source Insight3.5当中,只要你导入那些代码,project files 列表框会在显示出所有的代码文档。那么当这...
  • 阿里Weex框架快速体验与环境搭建

    万次阅读 2016-09-30 16:36:00
    在安装结束后,你能通过在命令行窗口执行 weex 命令来检查工具是否安装正确。仅仅输入weex并敲击回车后,你应该看到如下内容显示: (请使用 weex --version 命令检查你的weex-toolkit版本是否大于 0.1.0) 至此...
  • java-swing-列表项选择事件监听器

    千次阅读 2019-06-23 20:45:16
    这是一个有关 JList类(列表框实现类)的事件监听 事件名称:ListSelectionEvent 列表选择事件 事件监听接口:ListSelectionListener 监听器 需要实现 valueChanged 方法 事件相关方法:addListSelectionListener ...
  • Django框架(一)

    万次阅读 多人点赞 2019-08-23 19:17:24
    一、Python Web框架 1.Web应用程序处理流程 说明:1....2.服务器接收到请求后解析请求,然后发送给Web后端框架。3.后端框架接收到请求后进行处理(如封装js、数据库交互、业务处理等操作)。...2.Web程序...
  • xCode 10 XIB控件列表

    千次阅读 2018-11-05 09:50:30
    对于一个百十年不用storybord的人来说,找个控件列表还得找找。搞了半天是苹果换姿势了,下面正确姿势.....  
  • 做项目时遇到了这个问题,也从网上查找了类似的问题,有些人遇到的是bootstrap-datepicker.js日期控件显示在下层,其实道理是一样的,在控件显示的时候,会使用js生成下面列表或日期选择,我们需要修改生成的...
  • YOLO框架简述

    万次阅读 多人点赞 2019-06-14 11:08:48
    YOLO(You Only Look Once)是一种基于深度神经网络的对象识别和定位算法,其最大的特点是运行速度... 输入一张图片,要求输出其中所包含的对象,以及每个对象的位置(包含该对象的矩形)。 对象识别和定位...
  • ptapython答案

    千次阅读 2020-12-08 23:00:13
    ptapython答案关于文件的打开方式,以下选项中描述正确的是()。python语言最早的可用版本诞生于()。当作为条件表达式时,0 与 false等价。带有两个下划线的方法一定是私有方法wordcloud 库生成中文词云时输出乱码,...
  • POI框架开发经验小结

    千次阅读 2017-12-24 21:30:18
    POI框架使用了一段时间,总结下自己的使用经验。 POI框架介绍 Apache POI是Apache软件基金会的开放源码程序库,POI提供API给Java程序对Microsoft ...下拉列表能包含的最多字符个数256个,超了就不显示。如果下...
  • EasyUI之datagrid展示数据列表

    万次阅读 多人点赞 2018-05-04 01:39:48
    如果你拥有Html、Css、JavaScript、jQuery基础,那么我觉得从下面这个案例当作EasyUI的HelloWorld程序也没什么问题: "java" contentType= "text/html; charset=UTF-8" pageEncoding= "UTF-8" %> ...
  • 本文的目的是将鸿蒙2.0刷到润和Hi3861、Hi3516和Hi3518开发板上。目前网上已经有很多关于刷鸿蒙2.0的文章,我整理了一下,并结合自己的经验,在本文中阐述了从配置环境,到编译...
  • html网页设计阶段性测试题

    千次阅读 2020-12-10 10:55:58
    在HTML中,关于表单提交方式说法错误的是(  A ).(选择一项) A. action属性用来设置表单的提交方式 B. 表单提交有get和post两种方式 C. post比get方式安全 D. post提交数据不会显示在地址栏,而get会显示 ...
  • Spring Cloud源码分析之Eureka篇第五章:更新服务列表
  • 真香!Linux 原来是这么管理内存的

    千次阅读 多人点赞 2020-07-28 13:49:48
    Linux 内存管理模型非常直接明了,因为 Linux 的这种机制使其具有可移植性并且能够在内存管理单元相差不大的机器下实现 Linux,下面我们就来认识一下 Linux 内存管理是如何实现的。 基本概念 每个 Linux 进程都会有...
  • 华为C语言编程规范(精华总结)

    万次阅读 多人点赞 2020-03-24 09:48:55
    正确示例1:以升序方式排列头文件可以避免头文件被重复包含: #include #include #include #include #include 正确示例2:以稳定度排序,建议将不稳定的头文件放在前面,如把产品的头文件放在平台的头文件前面: #...
  • 4. 列表一学完,Python 会一半,滚雪球学 Python

    万次阅读 多人点赞 2020-11-24 15:06:39
    万字长文学 Python 列表,确定你能学会,滚雪球学 Python
  • Jquery考试面试题(二)

    千次阅读 2020-06-17 11:16:01
    一、单选题(共30题,每题2分) 得分:2.0分 ...正确答案: D 解析: 元素获取 得分:2.0分 2. 有代码 function foo(){ var a=10; return function(){ console.log(a++) } } foo()(); 运行之后,会在控制台中打
  • Android云班课阶段测试3练习题50题

    千次阅读 2020-11-07 14:30:04
    1、关于ListView下列说法正确的是(D)。 D. ListView必须通过Adapter来提供数据 2、哪个属性设置控件是否可见.B B. android:visibility 3、通过隐式intent跳转到一个activity,下面说法正确(A) A. Intent i=new ...
  • 阿里巴巴开源前端框架--Weex实践

    万次阅读 2016-07-04 20:09:19
    启动调试工具(下面有章节具体聊这个事) npm run debugger 有了上述这么多利器,开发Weex真是太爽了! 磨刀不误砍柴工 有了利器后,先不忙着上手,因为你还要先学会怎么操控它,让它能与你人器...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 172,472
精华内容 68,988
关键字:

下面关于列表框正确的是