这里面有几个知识点,一是name属性,二是函数调用,三是程序的执行流程,四是写入方式以及别名,五是三元运算符
from math import sqrt
3,最后执行这里,函数定义好之后没有调用相当于没有执行
# 先定义一个函数,或者说是方法,不传递参数
def is_prime(num):#
for factor in range(2, int(sqrt(num)) + 1):#提高效率,记得加一
if num % factor == 0:
return False
# value1 if condition else value2
return True if num != 1 else False#剔除1不是质数
#三元运算, num != 1 成立时,执行前面的,返回真,否者返回后面的
#2,再执行这儿
# 再在main函数里面传递参数,但实际执行时先执行下面,在执行上面
def main():
with open('1000质数.txt','w',encoding = 'utf-8') as f:
# 创建一个名为1000.txt的文件,以w(文本)形式写入,要写二进制用wb,读用r,
# 编码方式utf-8,utf-8编码是unicode(万国码)的一种实现方式.as f相当于别名,代表前面的这行代码作用
for num in range(1,1000):#求1-1000之间的质数
if is_prime(num):#如果+调用函数,若这里为真,print
print(num)
f.write(str(num) + '\n')# 为文件发一个写入的消息,这个.是访问成员运算,
# 把num处理成字符串写入1000.txt文本文档,文档位置就在这个程序当前文件夹。
print('提示操作完毕')
# 1.先判断是否是执行当前代码块
if __name__ == '__main__':#当前执行这个文件(模块)的名字就是__main__,执行main函数
main()#调用main()函数
# print(__name__) -- > __main__
#调用函数方法:函数名+(参数)