python的几个经典程序

1.Python快速判断一个数是否为素数

#本程序实现的功能是判断一个数是否为素数
n=input("请输入一个整数:")
n=int(n)
if n==2:
    print(n,"是素数")
#偶数必然不是素数
elif n%2==0:
    print(n,"不是素数")
else:
    #大于5的素数必然出现在6的倍数的两侧
    #因为6x+2,6x+3,6x+4肯定不是素数,假设x为大于1的自然数
    m=n%6
    if m!=1 and m!=5:
        print(n,"不是素数")
    else:
        for i in range(3,int(n**0.5)+1,2):
            if n%i==0:
                print(n,"不是素数")
                break
        else:
            print(n,"是素数")

2.编写代码,输出由星号*组成的菱形图案,并且可以灵活的控制图案的大小

#编写代码,输出由星号*组成的菱形图案,并且可以灵活的控制图案的大小
def main(n):
    for i in range(n):
        print(('*'*i).center(n*3))
    for i in range(n,0,-1):
        print(('*'*i).center(n*3))
main(6)

3.判断今天是今年的第几天

#判断今天是今年的第几天
import time
date=time.localtime()#获取当前日期时间
year,month,day=date[:3]
day_month=[31,28,31,30,31,30,31,31,30,31,30,31]
if year%400==0 or (year % 4==0 and year %100!=0):
    day_month[1]=29
if month==1:
    print(day)
else:
    print(sum(day_month[:month-1])+day)

4.检查并判断密码字符串的安全强度

#检查并判断密码字符串的安全强度
import string
def check(pwd):
    #密码必须至少包含6个字符
    if not isinstance(pwd,str) or len(pwd)<6:
        return 'not suitable for password'

    #密码轻度等级与包含字符种类的对应关系
    d={1:'weak',2:'below middle',3:'above middle',4:'strong'}
    #分别用标记pwd是否含有数字,小写字母,大写字母和指定的标点符号
    r=[False]*4

    for ch in pwd:
        #是否包含数字
        if not r[0] and ch in string.digits:
            r[0]=True
        #是否包含小写字母
        elif not r[1] and ch in string.ascii_lowercase:
            r[1]=True
        #是否包含大写字母
        elif not r[2] and ch in string.ascii_uppercase:
            r[2]=True
        #是否包含指定的标点符号
        elif not r[3] and ch in '<,.!;?>':
            r[3]=True
    #统计包含的字符种类,返回密码强度
    return d.get(r.count(True),'error')
print(check('a2Cd,lll'))

 

你可能感兴趣的:(python)