python读取一个文件的每一行判断是否为素数,并把结果写到另一个文件中

刚刚学习python的菜鸟,这道题包括:文件的读写,python的参数调用,异常的使用,函数的使用

创建一个文本文件inti_prime.txt

执行命令:python Prime.py init_prime.txt result_prime.txt

会生成一个result_prime.txt文件

 1 #-*- coding:UTF-8 -*-
 2 #读取一个文件的每一行,每一行为一个数字
 3 #判断数字是不是素数
 4 #并打印结果到另外一个文件
 5 #输入文件名和输出文件名用参数的形式
 6 import sys
 7 import math
 8 #输入文件
 9 str1=sys.argv[1]
10 #输出文件
11 str2=sys.argv[2]
12 #打开文件
13 try:
14     file_object=open(str1,"r+")
15 except IOError:
16     print "找不到这个文件".decode('utf8').encode('gbk')
17 else:
18     file_result=open(str2,"w+")
19 #判断是否为素数
20     def IsPrime(number):
21         if number<2:
22             return False
23         else:
24             for i in range(2,int(math.ceil(math.sqrt(number))+1)):
25                 if number==2:
26                     return True
27                 else:
28                     if number%i==0:
29                         return False
30                     else:
31                         continue
32             return True
33 #读取文件
34     for line in file_object:
35         line = line.strip()
36         if IsPrime(int(line)):
37             file_result.write(line+" is a Prime"+"\n")
38         else:
39             continue
40     file_object.close()
41     file_result.close()
42 
43 
44             

 

posted @ 2016-12-04 22:19  菜鸟虫师  阅读(8657)  评论(0编辑  收藏  举报