结果:
zhoujy@zhoujy:~/桌面/Python/4$ python factorial.py
Enter a Number(int) : 1
zhoujy@zhoujy:~/桌面/Python/4$ python factorial.py
Enter a Number(int) : 2
zhoujy@zhoujy:~/桌面/Python/4$ python factorial.py
Enter a Number(int) : 3
zhoujy@zhoujy:~/桌面/Python/4$ python factorial.py
Enter a Number(int) : 4
zhoujy@zhoujy:~/桌面/Python/4$ python factorial.py
Enter a Number(int) : 5
zhoujy@zhoujy:~/桌面/Python/4$
2):将100~200以内的质数挑选出来
思路:
质数是指:只有1和它本身两个因数,如2、3、5、7都是质数,即能被1和本身整除,1不是质数。
比如一个数字N,看它是否质数的话,就要看:有没有能整除【2,N】之间的数X(不包含本身),即N%X是否为0,要是没有就为质数。
所以我们要实现的算法是:拿一个数字N,去除以【2,N】之间的数X,来得到质数,即:N/2,N/3,……,N/N-2,N/N-1 ===> N/range(2,N)
#!/usr/bin/env python
#-*- coding:utf-8 -*-
def is_prime(start,stop):
stop = stop+1 #包含列表右边的值
prime = filter(lambda x : not [x%i for i in range(2,x) if x%i == 0],range(start,stop)) #取出质数,x从range(start,stop) 取的数
print prime
if __name__ == '__main__':
try :
start = input("Enter a start Number :")
except :
start = 2 #开始值默认2
try :
stop = input("Enter a stop Number :")
except :
stop = 0 #停止数,默认0,即不返回任何值
is_prime(start,stop)
结果:
zhoujy@zhoujy:~/桌面/Python/4$ python prime.py
Enter a start Number :
Enter a stop Number :10
[2, 3, 5, 7]
zhoujy@zhoujy:~/桌面/Python/4$ python prime.py
Enter a start Number :10
Enter a stop Number :20
[11, 13, 17, 19]
zhoujy@zhoujy:~/桌面/Python/4$ python prime.py
Enter a start Number :
Enter a stop Number :
[]
更多入门教程可以参考 (http://www.bugingcode.com/python_start/)