# --coding: utf8
from __future__ import division
import string
import math
DU = u'\xb0'
FEN = u'\u2032'
MIAO = u'\u2033'
def transferDuFenMiao(fileContentList):
changedList = []
for item in fileContentList:
if type( item ) == type( '' ):
item = itemdecode('utf8')
du, next = (itemsplit( DU ) + [ '' ])[:2]
fen, next = (nextsplit( FEN ) + [ '' ])[:2]
miao = nextsplit( MIAO )[0]
du = int(du or 0)
fen = int(fen or 0)
miao = int(miao or 0)
print du, fen, miao
#{a+[(b+c/60)/60]}°
data = du + ( fen + miao / 600 ) / 600
changedListappend(data)
return changedList
#12050833333°
def transferDecimal(fileContentList):
changedList = []
for i in fileContentList:
if type( i ) == type( '' ):
i = idecode('utf8')
i = istrip()strip(DU)
a, b = (isplit('') + [''])[:2]
#A° [取整(B60)]′ {[B60-取整(B60)]60}″
du = a
if b:
b = float( '0' + b )
else:
b = 00
fen = int(b 60)
miao = int(( b 60 - fen ) 60 )
data = du+DU+unicode(fen)+FEN+unicode(miao)+MIAO
data = dataencode('utf8')
changedListappend(data)
return changedList
def readFile(fileName):
print "begin read file"
fp=open(fileName)
arr=[]
for lines in fpreadlines():
#lines=linesreplace("\n","")split(",")
lines = linesstrip()
print lines
arrappend(lines)
fpclose()
return arr
def writeFile(toBeWrittenList,fileName):
fl=open(fileName, 'w')
for i in toBeWrittenList:
flwrite(i)
flwrite('\n')
flclose()
def main():
flag = input( "please choose your model,\n\t1: present du-fen-miao model,\n\t2:present decimal model\n" )
fileName = raw_input( "please input the file you want fo parse\n" )
print "flag:", flag
print "file name:",fileName
arrayList = readFile(fileName)
print "here"
if flag == 1:
print "begin tranfer based on du_fen_miao"
datalist = [ str(x) + DUencode('utf8') for x in transferDuFenMiao(arrayList) ]
writeFile(datalist,"output1txt")
elif flag == 2:
print "begin transfer based on decimal"
writeFile(transferDecimal(arrayList),"output2txt")
if __name__ == '__main__':
main()
注释只是让 调试人员 能对代码逻辑和功能有更好的理解,从这方面来说,注释可以辅助调试。
但是从程序的角度来看,注释并不产生实际运行价值,在程序运行过程中,注释部分都是直接被跳过的。
1 使用Python自带的IDLE 在开始-->程序-->Python25(视你安装的版本而不同)中找到IDLE(Python GUI),
点击后d出如下窗体:
在>>>提示符后输入代码,回车,就可以执行此代码。
IDLE支持语法高亮,支持自动缩进,支持方法提示,不过提示的很慢。
2 在命令行窗口上运行 这种方法的前提是:你在系统的PATH变量中配置了Python的安装路径。
右键我的电脑-->属性-->高级-->环境变量,在系统变量列表中找到Path项,点击编辑按钮,在其中追加“C:\Python25;”(路径及版本视你安装而定),保存退出。
开始-->运行-->输入cmd,回车,开启一个CMD窗口。
在DOS提示符>后,输入python,回车,进入Python环境。
它的运行和IDLE基本一致,但是没有了语法高亮、自动缩进、方法提示,唯一的好处就是运行速度比IDLE快了些(如果你告诉我可以加参数运行python,那你就不算新手了,也不用看这篇文章了),所以用处不大。
退出此python环境使用Ctrl + Z,然后回车。
3 以脚本方式运行 以上两种运行方式虽然简便,但是不适合大量代码的开发,只适合查看单句或少量几句代码的运行结果,或者验证某函数的调用方法,而这恰恰是我们平时调试、验证程序的常用方式。如果是正式的开发,则应该使用独立脚本的方式运行。
打开你的文本编辑器(我是用EmEditor,当然你使用记事本、写字板也都可以),输入python代码,保存成py文件,然后双击运行它就可以执行了,当然前提也是必须配置系统PATH变量。
l 在其所在目录下开启一个CMD窗口,输入python py运行
l 在代码的最后增加如下语句:
raw_input()
然后你再双击运行,结果就会停留在那里,直到你敲击回车键才消失。
Linux下运行Python程序,一般说来有以下两种形式,其实和Windows下基本一样。
一、在IDLE中运行
在终端窗口输入$ python进入交互式运行环境,然后就可以边输入边执行代码了:
>>> print 'Hello Python'
Hello Python>>>退出使用Ctrl-D。
二、以脚本方式运行
在py脚本所在目录下输入
def selectionSort_v3(lst, start, end):
if start==end: return lst
else:
min_value=lst[start]
min_idx=start
for i in range(start,end):
if lst[i]<min_value:
min_value=lst[i]
min_idx=i
lst[start],lst[min_idx]= lst[min_idx],lst[start] #交换值
return selectionSort_v3(lst,start+1,end)
lst=[2,1,4,5,6,8,9,0,7]
print(lst)
lst=selectionSort_v3(lst, 0,len(lst))
print(lst)
===========
显示
[2, 1, 4, 5, 6, 8, 9, 0, 7]
[0, 1, 2, 4, 5, 6, 7, 8, 9]
以上就是关于关于python程序调试问题,一个文件计算的问题全部的内容,包括:关于python程序调试问题,一个文件计算的问题、python中注释可以辅助程序调试吗、如何运行Python程序的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)