python乘法表代码注释_Python统计python文件中代码,注释及空白对应的行数示例【测试可用】...

本文实例讲述了Python实现统计python文件中代码,注释及空白对应的行数。分享给大家供大家参考,具体如下:

其实代码和空白行很好统计,难点是注释行

python中的注释分为以#开头的单行注释

或者以'''开头以'''结尾 或以"""开头以"""结尾的文档注释,如:

'''

hello world

'''

'''

hello world'''

思路是用is_comment记录是否存在多行注释,如果不存在,则判断当前行是否以'''开头,是则将is_comment设为True,否则进行空行、当前行注释以及代码行的判断,如果is_comment已经为True即,多行注释已经开始,则判断当前行是否以'''结尾,是则将is_comment设为False,同时增加注释的行数。表示多行注释已经结束,反之继续,此时多行注释还未结束

# -*- coding:utf-8 -*-

#!python3

path = 'test.py'

with open(path,'r',encoding='utf-8') as f:

code_lines = 0 #代码行数

comment_lines = 0 #注释行数

blank_lines = 0 #空白行数 内容为'\n',strip()后为''

is_comment = False

start_comment_index = 0 #记录以'''或"""开头的注释位置

for index,line in enumerate(f,start=1):

line = line.strip() #去除开头和结尾的空白符

#判断多行注释是否已经开始

if not is_comment:

if line.startswith("'''") or line.startswith('"""'):

is_comment = True

start_comment_index = index

#单行注释

elif line.startswith('#'):

comment_lines += 1

#空白行

elif line == '':

blank_lines += 1

#代码行

else:

code_lines += 1

#多行注释已经开始

else:

if line.endswith("'''") or line.endswith('"""'):

is_comment = False

comment_lines += index - start_comment_index + 1

else:

pass

print("注释:%d" % comment_lines)

print("空行:%d" % blank_lines)

print("代码:%d" % code_lines)

运行结果:

注释:4

空行:2

代码:26

注:这里的Python测试文件test.py如下:

# -*- coding:utf-8 -*-

#!python3

#九九乘法表

for i in range(1, 10):

for j in range(1, i+1):

print("%d*%d=%d\t" % (j, i, i*j), end="")

print()

#斐波那契数列 0,1,1,2,3,5,8,...

num=int(input("需要几项?"))

n1=0

n2=1

count=2

if num<=0:

print("请输入一个整数。")

elif num==1:

print("斐波那契数列:")

print(n1)

elif num==2:

print("斐波那契数列:")

print(n1,",",n2)

else:

print("斐波那契数列:")

print(n1,",",n2,end=" , ")

while count

sum=n1+n2

print(sum,end=" , ")

n1=n2

n2=sum

count+=1

print()

感兴趣的朋友可以自己测试一下~

PS:这里再为大家推荐2款相关统计工具供大家参考:

希望本文所述对大家Python程序设计有所帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/558312.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

32位python和64位python区别_python32位和64位有什么区别

python32位和64位有什么区别&#xff1f;64位能够用更大的内存空间&#xff0c;64位可以在64位的系统下运行&#xff0c;但是不能在32位系统下运行。32位能够在32位和64位上运行&#xff0c;考虑到兼容性&#xff0c;建议使用32位的python。如何查看python是32位还是64位可使用…

《常用控制电路》学习笔记——数控锁相环调速电路

序言 今天开始我将把自己学习《常用控制电路》的一些内容发到互联网上&#xff0c;希望能和大家交流学习。 这本书主要介绍了一系列控制电路的经典案例&#xff0c;进行了电路和代码的设计&#xff0c;我将把这本书中学习到的内容和学习的过程尽量准确的分享出来与大家交流&…

《常用控制电路》学习笔记——数字控制直流电动机调速电路

书中该节讲述的电路通过ADC芯片将电位器的阻值转换为电压量&#xff0c;然后使用单片机输出PWM进行电路控制。本电路也可扩展应用至需要模拟量输入与输出的场合。 目录 一、系统设计思路 二、各模块电路分析 2.1电路构成 2.2工作状态分析 三、程序分析 3.1 变量定义 3.…

《常用控制电路》学习笔记——数控直流恒流源电路

书中该项目内容设计了一个从交流220V市电作为供电电源的恒流源电路&#xff0c;并且此电路可由加减计数器74LS193控制输出的电流大小。 目录 一、系统方案 二、各模块电路分析 整流滤波及稳压电路 数字量控制电路 数模转换电路 数控恒流源产生电路 三、电路仿真结果 四…

图像太宽无法输出请裁剪图像或降低分辨率然后重试_真·无监督!延世大学提出图像到图像无监督模型,实验结果超SOTA...

作者 | 蒋宝尚编辑 | 丛 末图像翻译目的是用模型将源域图像转换到目标域图像&#xff0c;通常涉及标签图到场景图的转换、图像风格、人脸的属性变换、标签图到场景图的转换。图像翻译任务自生成对抗网络提出就得到了快速发展&#xff0c;例如经典的pix2pix、CycleGAN、StarGAN。…

python图像文件压缩_python实现图片压缩代码实例

前言项目中大量用到图片加载&#xff0c;由于图片太大&#xff0c;加载速度很慢&#xff0c;因此需要对文件进行统一压缩一&#xff1a;导入包from PIL import Imageimport os二&#xff1a;获取图片文件的大小def get_size(file):# 获取文件大小:KBsize os.path.getsize(file…

php serialize和json_encode哪个更快_世界 10 大编程语言,Java 不是第一,PHP 才第五...

来源&#xff1a;toutiao.com/a6764554659349676557/如果你是软件开发领域的新手&#xff0c;那么你会想到的第一个问题是“如何开始&#xff1f;”编程语言有数百种可供选择&#xff0c;但是你怎么发现哪个最适合你&#xff0c;你的兴趣和职业目标又在哪里呢&#xff1f;选择最…

python列表操作程序_Python入门篇(三)之列表

1、列表定义names ["ZhangYang","Guyun","Xiangpeng","Xuliangchen"] #列表存储&#xff0c;类似数组2、列表的操作(1)切片names ["ZhangYang","Guyun","Xiangpeng","Xuliangchen"] #列表存…

python编程制作_一种Python编程创作平台的制作方法

本发明涉及在线浏览器技术领域&#xff0c;特别涉及一种Python编程创作平台。背景技术&#xff1a;目前项目整体使用javascripthtmlcss实现&#xff0c;用户界面编写上使用react框架。具体实现上是将python语法转换为js语法&#xff0c;使其可以在浏览器中运行&#xff0c;目前…

tomcat7.0支持什么版本的jdk_恭喜你喜提JDK,那你知道JDK是什么吗?先来看看吧

点击蓝字关注一行JDK 大家都知道电脑的操作系统是由汇编和C语言写出&#xff0c;因此操作系统无法直接识别其他语言。这时我们就需要为我们写的Java程序配备一名翻译官 ----- 编译环境&#xff0c;将Java程序翻译成电脑可以识别的程序&#xff0c;C或者汇编。 那么对于这个…

我的python 入门 安装 -- hello world

我的python 安装–>“hello world” 最近老听到关于python的声音&#xff0c;而且越来越强烈。就好奇下载了下&#xff0c;在win10 的应用商店下载的 够傻瓜了吧 环境变量也不用配置 直接上手 hello world了 cmd 窗口 输入 python -v 正常显示 显示版本号 不能正常显示…

python if try except_python try except

python中try/except/else/finally语句的完整格式如下所示&#xff1a;try:Normal execution blockexcept A:Exception A handleexcept B:Exception B handleexcept:Other exception handleelse:if no exception,get herefinally:print("finally")说明&#xff1a;正常…

多台Linux服务器之间互相免密登陆

多台Linux服务器之间互相免密登陆 例如我们有三台Linux 服务器&#xff1a; 192.168.0.1 192.168.0.2 192.168.0.3 1.1 首先配置服务器 1 面密令登录2 和 3 1.2 登录服务器1&#xff0c;然后输入命令&#xff1a;ssh-keygen -t rsa &#xff0c;一路按 回车&#xff0c; …

python多进程内存共享_Python—并发编程04多进程内存共享,python,间,的

Manaegr实现数据共享导入 &#xff1a;from multiprocessing import Manager实例化&#xff1a;m Manager()num m.dict( {键 : 值} )num m.list( [1, 2, 3] )程序示例:from multiprocessing import Manager,Processdef fun(num):num[0] 0print(子进程中num:, num)if __name…

记录spring、springboot集成apollo配置中心

一, spring集成apollo&#xff0c;前提是apollo配置中心服务端已经在运行中 上面是我在阿里云服务搭建的apollo配置中心服务端&#xff0c;登录后的样子。没有搭建服务端的小伙伴&#xff0c;请先搭建好apollo的服务端 然后点击‘创建项目’&#xff0c;新建测试用的项目 填…

python中不同类型的数据不能相互运算_Python第三课——数据类型与运算(2)

hello大家好&#xff0c;我是你们的小蒟蒻鸭&#xff0c;终于终于有时间写博客了(虽然刚开始期末复习)&#xff0c;真的非常非常抱歉&#xff0c;拖更太厉害了。反正还有一个月不到小蒟蒻就要放暑假了&#xff01;&#xff01;&#xff01;(激动.jpg)&#xff0c;蒟蒻保证会一周…

Java多线程--死锁例子

package qzy.thread.deadLock;/*** 描述模拟死锁** 形成死锁的四个必要条件是什么** 1.互斥条件&#xff1a;线程(进程)对于所分配到的资源具有排它性&#xff0c;即一个资源只能被一个线程(进程)占用&#xff0c;直到被该线程(进程)释放* 2.请求与保持条件&#xff1a;一个线程…

python重写和装饰器_python装饰器

python装饰器的本质&#xff0c;就是闭包&#xff01;我们一般谈Python的闭包&#xff0c;都是指普通的入参&#xff0c;而谈装饰器的时候&#xff0c;入参一定有函数&#xff01;闭包和装饰器&#xff0c;返回的都是函数。函数是代码的最小封装单位&#xff0c;装饰器作用于函…

Java基础复习题--类加载顺序

在某个视频看到一个关于Java类加载顺序的面试题&#xff0c;记录一下&#xff1a; talk is sheep&#xff0c; show code&#xff01;&#xff08;请忽略语法&#xff09; public class Father {private int i test();private static int j method();static {System.out.prin…

基本农田卫星地图查询_发现谷歌地图替代网站,卫星地图街景功能都能用

众所周知&#xff0c;由于谷歌地图&#xff08;Google Maps&#xff09;在国内不能访问&#xff0c;很多人就没有办法通过谷歌地图来获得服务。谷歌地图是目前全球最受欢迎的世界地图网站&#xff0c;在2005年以前&#xff0c;谷歌地图就收录了美国、英国、加拿大三个国家的地图…