前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python学习笔记(八)- 四个小程序

Python学习笔记(八)- 四个小程序

作者头像
张树臣
发布2018-05-15 16:44:39
6640
发布2018-05-15 16:44:39
举报
# 字符串格式化符号说明
#      %c     格式化字符及其ASCII码
#      %s     格式化字符串
#      %d     格式化整数
#      %o     格式化无符号八进制数
#      %x     格式化无符号十六进制数
#      %X     格式化无符号十六进制数(大写)
#      %f     格式化定点数,可指定小数点后的精度
#      %e     用科学计数法格式化定点数
#      %E     作用同%e,用科学计数法格式化定点数
#      %g     根据值的大小决定使用%f或者%e
#      %G     作用同%g,根据值的大小决定使用%F或者%E

#编写一个进制转换程序,十进制转换二进制可以用bin()
q = True
while q:
    num = input('请输入一个整数(输入Q结束程序):')
    if num.isdigit():
        num = int(num)
        print('十进制 -> 十六进制 : %d -> 0x%x' % (num, num))
        print('十进制 -> 八进制 : %d -> 0o%o' % (num, num))
        print('十进制 -> 二进制 : %d -> ' % num, bin(num))
    elif num in ('Q','q'):
        q = False
        print("程序结束")
    else:
        continue
#现有一个列表[1, 2.1, 2.3, 'a', '1', True],写一个方法,计算里面各数字类型的和
#即遇到字符时,自动跳过。

def sum(x):
    result=0
    for each in x:
        if isinstance(each,int) or isinstance(each,float):
            print(each)
            result+=each
        else:
            continue
    return result

res=sum([1, 2.1, 2.3, 'a', '1', True])
print(res)

# s为字符串
# s.isalnum() 所有字符都是数字或者字母
# s.isalpha() 所有字符都是字母
# s.isdigit() 所有字符都是数字
# s.islower() 所有字符都是小写
# s.isupper() 所有字符都是大写
# s.istitle() 所有单词都是首字母大写,像标题
# s.isspace() 所有字符都是空白字符、\t、\n、\r

# 判断是整数还是浮点数
# a=123
# b=123.123
#
# >>>isinstance(a,int)
# True
# >>>isinstance(b,float)
# True
# >>>isinstance(b,int)
# False
#有一个学生成绩表2. score = [['小明', 85], ['小文', 80], ['小红', 65], ['小黄', 95]],
#根据学生名称查找成绩。

score = [['小明', 85], ['小文', 80], ['小红', 65], ['小黄', 95]]
name=input("请输入学生名字:")
# length=len(score)
# print(length)
# i=0
# stuScore=-1
# while i<length:
#     if score[i][0] ==name:
#         stuScore=score[i][1]
#         print(name,"的成绩是:",stuScore)
#         break
#     else:
#         i+=1
# if stuScore==-1:
#     print("没有该学生")


IsFind = False
for each in score:
    if name in each:
        print(name + '的得分是:', each[1])
        IsFind = True
        break

if IsFind == False:
    print('查找的数据不存在!')
# 密码安全性检查
# 低级密码要求:
#   1. 密码由单纯的数字或字母组成
#   2. 密码长度小于等于8位
# 中级密码要求:
#   1. 密码必须由数字、字母或特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)任意两种组合
#   2. 密码长度不能低于8位
# 高级密码要求:
#   1. 密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)三种组合
#   2. 密码只能由字母开头
#   3. 密码长度不能低于16位

symbols = r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>'''
chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
nums = '0123456789'

passwd = input('请输入需要检查的密码组合:')

# 判断长度
length = len(passwd)

while (passwd.isspace() or length == 0) :
    passwd = input("您输入的密码为空(或空格),请重新输入:")

if length <= 8:
    flag_len = 1
elif 8 < length < 16:
    flag_len = 2
else:
    flag_len = 3

flag_con = 0



# 判断是否包含字母
for each in passwd:
    if each in chars:
        flag_con += 1
        break

# 判断是否包含数字
for each in passwd:
    if each in nums:
        flag_con += 2
        break

# 判断是否包含特殊字符
for each in passwd:
    if each in symbols:
        flag_con += 5
        break
#密码只能以字母开头
pwdFirstStr=0
if passwd[0:1] in chars:
    pwdFirstStr=1
print("pwdFirstStr",pwdFirstStr)
# 打印结果
while 1 :
    #print("您的密码安全级别评定为:", end='')
    # 低级密码要求:
    #   1. 密码由单纯的数字或字母组成
    #   2. 密码长度小于等于8位
    if flag_len == 1 or flag_con in (1,2) :
        print("您的密码安全级别评定为:低")
    # 中级密码要求:
    #   1. 密码必须由数字、字母或特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)任意两种组合
    #   2. 密码长度不能低于8位
    elif flag_len in (2,3) or flag_con in (3,6,7):
        print("您的密码安全级别评定为:中")
    # 高级密码要求:
    #   1. 密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)三种组合
    #   2. 密码只能由字母开头
    #   3. 密码长度不能低于16位
    elif flag_len==3 and flag_con ==8 and pwdFirstStr==1:
        print("您的密码安全级别评定为:高")
        print("请继续保持")
        break
    else:
        print("输入的密码不符合格式要求!")

    print("请按以下方式提升您的密码安全级别:\n\
    \t1. 密码必须由数字、字母及特殊字符三种组合\n\
   \t2. 密码只能由字母开头\n\
    \t3. 密码长度不能低于16位'")
    break

往期笔记

Python学习笔记(1)

Python学习笔记(2)

Python学习笔记(3)

Python学习笔记(4)

Python学习笔记(5)

Python学习笔记(6)

Python学习笔记(7)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-12-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试经验与教训 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档