Python 与 C++ 程序的简单实例对比

python蓝桥杯第十一届省内模拟赛题解_详细题解|蓝桥杯第十一届软件类校内模拟赛... 大纲:1.GB*1024=MB 答案:154882.枚举约数,答案:963.完全二叉树最多,答案:1010(不知道有没有看错题,是不是二叉)4.枚举,判是否包含9,5445.50%数据:3层枚举判递增;100%数据:思路1,枚举中心点,查左边i的,总时间复杂度O(n^2);思路2:查询可以优化,用树状数组查,总时间复杂度O(longn)6.100%数据:枚举,倒着判数字是否递减,O(10^7) 不... 阅读详情

        一位网友正在学校做课程设计题目,要求在一个文件中找到给定单词出现的位置并统计出现次数。这是一个比较简单的文本处理问题, 于是, 我给他用 python 写了一个,并打赌在5分钟内用不到30行程序解决问题。 我作到了,下面是程序:

if __name__=='__main__':
    file_name = raw_input('Input the file you want to find in:')
    try:
        in_file = open(file_name,'r')
        lines = in_file.readlines()


        tag_tok = ''
        while tag_tok.upper() != 'Q':
            tag_tok = raw_input('Input the word you want to find(Q for quit):')
            if tag_tok.upper() != 'Q':
                count = 0
                line_no = 0
                for line in lines:
                    line_no = line_no + 1
                    inline_cnt = line.count(tag_tok)
                    count = count + inline_cnt
                    if inline_cnt > 0:
                        print 'Find %s %d time(s) in line :%d'%(tag_tok,inline_cnt,line_no)
                        print line
                print '---------------------------------'
                print 'Total fount %s %d time(s)'%(tag_tok, count)
    except:
        print "Can't open file %s"%(file_name)

但是,这个网友还不满足非要一个 C++的程序,理由是他们老师不会python , 正好我也想试试用C++解决和python做下对比:

#include <fstream>
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>

using namespace std;

int BruteFind(const char *x, int m, const char *y, int n ,vector<int>& colpos) {
  int i, j, cnt=0;
  /* Searching */
  for (j = 0; j <= n - m; ++j) {
   for (i = 0; i < m && x
== y[i + j]; ++i);
    if (i >= m){
     colpos[cnt++] = j;
     if(cnt == colpos.size())
      colpos.resize(cnt * 2);
    }
  }
  return cnt;
}

int count_string(string source, string tag, vector<int>& colpos){
  int find_cnt = 0;
  find_cnt = BruteFind(tag.c_str(), tag.size(), source.c_str(),source.size(),colpos);

  return find_cnt;
}

int main(){
string file_name, line;
vector<string> lines;
  lines.resize(10);
  
cout << "Input the file name:";
cin  >> file_name;

ifstream in_file;
try{
     in_file.open(file_name.c_str());
     if(!in_file)
       throw(file_name);
  }
  catch(string file_name){
     cout << "Fatal error: File not found."<<endl;
     exit(1);
  }

int line_count = 0;

do{
    getline(in_file, lines[line_count]);
    line_count ++;
    
    if(line_count == lines.size()){
     lines.resize(line_count * 2);
    }
  }while(in_file.eof()==0);

string tag_tok;
vector<int> colpos;
colpos.resize(10);

do{
  cout << "Input the word you want to find(Q for quit):";
  cin >> tag_tok;
  if(tag_tok == "Q"){
   break;
  }
  
  int count = 0, line_no = 0 , inline_count;
  for(line_no = 0 ;line_no < line_count ; line_no++){
   inline_count = count_string(lines[line_no], tag_tok, colpos);
   count += inline_count;
   if(inline_count > 0){
    cout << "Find " << tag_tok << " " << inline_count << " time(s) in line " << line_no ;
    cout << " , column pos is ( ";
    
    for(int i = 0 ;i< inline_count ;i++){
     cout << colpos
<< ' ';
    }
    cout << " )" << endl;
    cout << lines[line_no] << endl;
   }
  }
  cout << "--------------------------------" <<endl;
  cout << "Total fount " << tag_tok << " " << count << " time(s)" << endl;
}while(tag_tok != "Q");

in_file.close();
return 0;
}

这个程序用了30分钟。

从程序长度和编程时间上,粗略对比下:

Python  5 分钟 22行

C++       30 分钟 60多行

从这个简单的例子中可以大体看到 脚本语言与C++语言中在开发时的差异了。

图像处理的详细python程序实例 提供详细的图像处理的python程序,并提供具体实例验证 立即下载

相关推荐

windows10下Boost的安装与初试

https://blog.youkuaiyun.com/s_lisheng/article/details/72871218 https://blog.youkuaiyun.com/yockie/article/details/8856190?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-12.vipsorttest&depth_1-utm_source=dis

焦露的博客 6395

Python & Dev-C++

吐槽阶段: 论python &amp;amp;amp;amp;amp;amp;amp;amp; Dev c++ 首先,初二刚学Python的我表示:自带高精 —— 舒服 用Python打初一打了两个月的表达式求值,一行P2就够了=_= print(input()%10000) 嗯哼 ----- 然后我刷了洛谷的一些高精加减之类的题目: P 3 代码 print(int(input()) + int(input())); c++ 代码 #includ...

owo 1781

从零开始:用Xilinx FPGA实现RISC-V单周期CPU(附完整Verilog代码)

本文详细介绍了如何使用Xilinx FPGA从零开始实现RISC-V单周期CPU,包括开发环境搭建、核心架构设计、Verilog代码实现及功能验证。通过实战指南和完整代码示例,帮助开发者掌握RISC-V CPU设计的关键技术,适用于嵌入式系统和定制化计算场景。

weixin_30664051的博客 547

python和c++之 练习题6 字符串变换,语料字典,特殊单词

字符串变换,语料字典,特殊单词

水w的博客 2555

四足机器人跨楼层轨迹规划:SCAN-Planner-Pure-ROS2开源项目实践指南

在机器人导航领域,路径规划是让机器人从起点安全、高效移动到目标点的核心技术。其原理通常基于环境地图(如占据栅格地图或八叉树地图),通过搜索算法(如A*、RRT*)在配置空间中找到一条无碰撞的可行路径。这项技术的价值在于赋予机器人在复杂、非结构化环境中的自主移动能力,是巡检、救援、物流等应用场景的基石。对于四足机器人而言,其运动能力超越了轮式平台,能在楼梯、斜坡等三维地形中移动,这使得传统的二维规划不再适用,需要专门的三维轨迹规划算法。SCAN-Planner-Pure-ROS2正是这样一个专注于解决四足机器

weixin_30700977的博客 466

php环境如何实现国密SM2相关功能

🏆本文收录于《优快云问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

**My Coding Family** 1616

Python与C++的区别

一、原理方面 1、运行效率:C++ &gt;&gt; Python Python代码和C++最终都会变成CPU指令来跑,但一般情况下,比如反转和合并两个字符串,Python最终转换出来的CPU指令会比C++ 多很多。 首先,Python东西比C++多,经过了更多层,Python中甚至连数字都是object !!! 其次,Python是解释执行的,和物理机CPU之间多了解释器这层,而C++是编译执...

雪雪 3万+

华为云计算——FusionCompute创建虚拟机

华为云计算——FusionCompute创建虚拟机

jks212454的博客 3676

编程语言(python与c++相关)

Python和c++相关的笔试和面试会遇到的一些

Zlionheart的博客 230

ICLR 2025 | MambaPEFT: 探索针对Mamba的参数高效微调方法

通过利用海量数据构建大型模型,基于Transformer的模型生态系统已逐步确立。参数高效微调(PEFT)是一项至关重要的技术,它能以最低成本将这些模型应用于下游任务,同时实现高效的性能表现。最近,基于状态空间模型(SSM)的Mamba模型作为Transformer的潜在替代方案受到了广泛关注。尽管已经提出了许多基于Mamba的大规模模型,但如何高效地将预训练的Mamba模型应用于下游任务仍有待研究。在本文中,作者对适用于Mamba的PEFT方法展开了探索性分析。

小白学视觉 326

大疆视觉算法面试,手推极线几何这关刷掉了一半人

摘要:大疆机器视觉算法工程师面试重点考察目标检测工程优化、深度估计几何原理和视觉SLAM全流程。目标检测侧重模型压缩和部署优化,需掌握知识蒸馏、量化及算子融合;深度估计要求推导双目几何并理解单目深度恢复方法;视觉SLAM需熟悉前后端流程及ORB-SLAM3/VINS-Mono区别。面试常要求手推PnP等公式,注重实践能力。准备需重点练习公式推导和代码实现,掌握工程落地细节。

郑伟强dev的专栏 194

转载:Python 与 C++ 程序的简单实例对比

正在处理您的请求... <!-- function getObject(objectId) { if(document.getElementById) { return document.getElementById(objectId) } else if(document.all&&document.all(objectId))

prophet08的专栏 994

你的小龙虾 OpenClaw 还很笨?快给它装上这几个核心技能(OpenClaw 必装skills整理)

🦞 刚装小龙虾OpenClaw? 本文分享一些OpenClaw必装技能,从视觉理解到智能学习,让它从“会聊天”变“会干活” 🚀

XiaoqiangClub的博客 870

Python与C++ 程序的简单实例对比

一位网友正在学校做课程设计题目,要求在一个文件中找到给定单词出现的位置并统计出现次数。这是一个比较简单的文本处理问题, 于是, 我给他用 python 写了一个,并打赌在5分钟内用不到30行程序解决问题。 我作到了,下面是程序: if __name__==__main__:    file_name = raw_input(Input the file you want to find in

斑竹的程序设计专栏 1273

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

语法:Python与C++对比

Python C++ import cmath 导入模块 #include<cmath> 引入头文件 容器(container) 容器(container) 序列(sequence ,包括列表、字符串和元组) 顺序容器(sequential container,包括vector, deque, list, forward_list, array, string) 映射(如字典)...

yly的博客 1万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

【简单实例】如何使用C++加速python程序

C++党最鄙视Python的两个原因:1,计算速度太慢;2,动态语言特性。 对于第2个原因,这需要python程序员好好规范自己的编写习惯,加深对语言和系统的理解。其实作为动态语言的python依旧可以作为超大工程的编程语言的。好了,闲话不多扯。本文主要针对原因1进行“补救”,做了一个C++加速python模块的实验,想测试如果python的部分函数被C++改写,会对整个python系统提升多少...

木盏 2065

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

pythonqt对比_用 Python 和 C++ 创建 Qt 程序的简单对比

假设要做一个简单的小窗口(如下图所示),PyQt 和 C++ 要用多少代码可以完成呢?效果图注:本文内容较多(主要是 C++ 的部分),若有必要请直接跳到最后看结论。一、 C++ 版本除了最基础的 pro 文件之外,我一共创建了 5 个文件:customlabel.hcustomlabel.cpp (处理标签Label的右键响应,以及其菜单)mainform.hmainform.cpp (...

weixin_34177635的博客 2551

简单的Python调用C++程序

Python调用C/C++程序的方法 最近写BUG的时候遇到python计算很慢的情况,于是调研了一波在python中嵌入C++程序的方法,记录一下,便于查询。 一般来说在python调用C/C++程序主要可以分为3步: 1、编写C/C++实现程序。 2、将C/C++程序编译成动态库。 3、在Python中调用编译生成的库。 Python在调用C/C++程序时有一些不同,需要注意。 1、Python调用C函数 Python调用C语言程序比较简单,将C语言程序编译好,再使用python中的ctypes模块

weixin_40313940的博客 7350

Python与C++速度对比

作者 —一直以来,关于C++编程语言存在诸多抱怨,原因是有人觉得院校应该停止向计算机科学专业的学生教授C++,因为它是一门古老的语言,没什么用处等等诸如此类的说法。而另一方面,总有程序员不断向新手程序员推荐Python,因为它容易学习、功能强大,而且市场需求大等等。所以,在这篇文章中,我试着用这两种编程语言编写相同的代码并运行,以便让大家一次性看到这两种语言在代码和速度方面的完整对比。

qq_28791753的博客 810

开拓者:正义之怒 Build 完整手册:从主角开卡到毕业,版本追踪的加点数据

找开拓者:正义之怒 Build 资料的人,真正的问题往往卡在开卡界面:28 点属性分给六项、背景选什么、信仰与道途走哪条——职业和道途搭错了,加点再精细也是浪费。Wotr-BD-LR 是一个正义之怒主角 BD 收录仓库:每个流派按“开卡→逐级专长→神话加点→装备”的完整流程整理,并逐条标注版本更新状态与强弱势期。 ## 📌 快速上手:仓库是什么、从哪看起 1. **先弄清你拿到的是什么**:

gitblog_00056的博客 357

Python实例浅谈之三Python与C/C++相互调用

一、问题 Python模块和C/C++的动态库间相互调用在实际的应用中会有所涉及,在此作一总结。 二、Python调用C/C++ 1、Python调用C动态链接库 Python调用C库比较简单,不经过任何封装打包成so,再使用python的ctypes调用即可。(1)C语言文件:pycall.c /***gcc -o libpy...

weixin_30372371的博客 1万+

C++ 与 python 语法 对比

C++ 与 python 语法 对比flyfish**变量定义** //C++ int a = 8, b = 9; //python i = 10 print(i)**条件语句** //C++ if (a > b) { std::cout << a << " is max" << std::endl; } else if

二分掌柜的 4405

CPP-PYTHON_CPP构造函数和PYTHON init对比

CPP-PYTHON_CPP构造函数和PYTHON init对比

2401_85199775的博客 1293

python简单还是c++简单_c c++ python java对比

C虽说C语言在内存管理方面存在严重的缺陷,不过它还是在某些应用领域里称王称霸。对于那些要求最高的效率,良好的实时性,或者与操作系统内核紧密关联的程序来说,C仍然是很好的选择。C良好的可移植性也为它加了分。不过现在很多其他的语言可移植性越来越好,C在这方面的优势可能会逐渐丧失。现有的很多程序可以产生非常棒的C代码,比如语法分析器、GUI Builder等,这时候C语言也是有吸引力的,因为你所需要编写...

weixin_39749243的博客 823
下一篇: 等待1095
albertlee
博客等级 码龄25年 4粉丝 9原创
评论 13
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值