数据结构与算法(Python版) | (1)从C到Python

本专栏主要基于北大的数据结构与算法教程(Python版)进行整理,包括课程笔记和OJ作业。
课程链接

相信大多数同学接触到第一门程序设计语言都是C语言,本篇博客用四个简单的例子,从C到Python进行过渡,对C和Python的区别有一个直观的认识。

1. Hello Word

在这里插入图片描述

  • C语言(编译型语言)程序的执行包括三步:1)编译:把程序代码编译为机器码 2)链接:链接程序中引入的各种库 3)执行:执行目标程序;Python(解释型语言)语言程序的执行只有一步:逐行执行代码
  • C语言中main函数比较特殊,是程序主入口函数,必不可少且只能有一个,其返回类型为int;Python中不存在主入口函数这一说,main函数只是一个普通的函数,可以任意命名,也没有返回类型,hello word完全可以用一行代码实现。
  • C语言中的printf定义在库文件stdio.h中,使用时需引入库文件;Python语言中print是内置函数,可以直接用。
  • C语言的代码块一般用一对{}包裹;Python语言代码块用冒号和缩进表示。在C中,缩进并不是强制要求的,完全可以把代码全写到一行,也可以正常执行,不过缩进可以提高可读性。

2. 1-100求和

在这里插入图片描述

  • 解决相同的问题,Python 的代码量明显比C少
  • C语言需要声明变量的类型;Python不需要
  • C语言的语句需要结束符’;’ ;Python中没有(强调格式)
  • C语言单行注释用// ;Python语言单行注释用#
  • C语言中的for循环实际上是一个条件循环,包含初始化,循环条件,和每次循环的操作;Python语言的for循环是一个迭代循环,每次从range(100)中取一个数进行操作。
  • range(100)可以产生0-99这100个数,它是一个生成器,只有在循环环境或一些函数如list()下才会实体化。(更详细的说明可以查看我的博客Python相关的专栏)

3. 检验素数

输入一个数,检验该数是不是素数。
在这里插入图片描述

  • 解决相同的问题,Python 的代码量明显比C少
  • C语言中可以用scanf接收用户输入(匹配型输入,%d限制输入类型为整数);Python语言使用input接受输入,输入类型为字符串,需要用int()将字符串中的数字转换为整数。注意Python中虽然不需要定义数据类型,但他是强类型语言,不同类型的数据不能在一起运算。
  • Python中之所以不需要使用flag变量,是因为python中for循环后面可以跟一个else,注意这个else不是和if对应的,而是for-else语句。当for循环完整执行结束时,会执行else语句,当for循环执行过程中被break中断时,则不执行else语句。

4. 打印一个朴素的三角形

在这里插入图片描述

  • 解决相同的问题,Python 的代码量明显比C少。C需要两重循环,Python只需要一重。
  • C语言需要额外添加换行printf(’\n’),python中的print函数自动换行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值