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

# 字符串格式化符号说明

# %c 格式化字符及其ASCII码

# %s 格式化字符串

# %d 格式化整数

# %o 格式化无符号八进制数

# %x 格式化无符号十六进制数

# %X 格式化无符号十六进制数(大写)

# %f 格式化定点数,可指定小数点后的精度

# %e 用科学计数法格式化定点数

# %E 作用同%e,用科学计数法格式化定点数

# %g 根据值的大小决定使用%f或者%e

# %G 作用同%g,根据值的大小决定使用%F或者%E

#编写一个进制转换程序,十进制转换二进制可以用bin()

q =True

whileq:

num =input('请输入一个整数(输入Q结束程序):')

ifnum.isdigit():

num =int(num)

print('十进制 -> 十六进制 : %d -> 0x%x'% (num,num))

print('十进制 -> 八进制 : %d -> 0o%o'% (num,num))

print('十进制 -> 二进制 : %d -> '% num,bin(num))

elifnumin('Q','q'):

q =False

print("程序结束")

else:

continue

#现有一个列表[1, 2.1, 2.3, 'a', '1', True],写一个方法,计算里面各数字类型的和

#即遇到字符时,自动跳过。

defsum(x):

result=

foreachinx:

ifisinstance(each,int)orisinstance(each,float):

print(each)

result+=each

else:

continue

returnresult

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

# if score[i][0] ==name:

# stuScore=score[i][1]

# print(name,"的成绩是:",stuScore)

# break

# else:

# i+=1

# if stuScore==-1:

# print("没有该学生")

IsFind =False

foreachinscore:

ifnameineach:

print(name +'的得分是:',each[1])

IsFind =True

break

ifIsFind ==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()orlength ==) :

passwd =input("您输入的密码为空(或空格),请重新输入:")

iflength

flag_len =1

elif8< length

flag_len =2

else:

flag_len =3

flag_con =

# 判断是否包含字母

foreachinpasswd:

ifeachinchars:

flag_con +=1

break

# 判断是否包含数字

foreachinpasswd:

ifeachinnums:

flag_con +=2

break

# 判断是否包含特殊字符

foreachinpasswd:

ifeachinsymbols:

flag_con +=5

break

#密码只能以字母开头

pwdFirstStr=

ifpasswd[:1]inchars:

pwdFirstStr=1

print("pwdFirstStr",pwdFirstStr)

# 打印结果

while1:

#print("您的密码安全级别评定为:", end='')

# 低级密码要求:

# 1. 密码由单纯的数字或字母组成

# 2. 密码长度小于等于8位

ifflag_len ==1orflag_conin(1,2) :

print("您的密码安全级别评定为:低")

# 中级密码要求:

# 1. 密码必须由数字、字母或特殊字符(仅限:~!@#$%^&*()_=-/,.?;:[]{}\)任意两种组合

# 2. 密码长度不能低于8位

elifflag_lenin(2,3)orflag_conin(3,6,7):

print("您的密码安全级别评定为:中")

# 高级密码要求:

# 1. 密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?;:[]{}\)三种组合

# 2. 密码只能由字母开头

# 3. 密码长度不能低于16位

elifflag_len==3andflag_con ==8andpwdFirstStr==1:

print("您的密码安全级别评定为:高")

print("请继续保持")

break

else:

print("输入的密码不符合格式要求!")

print("请按以下方式提升您的密码安全级别:\n\

\t1. 密码必须由数字、字母及特殊字符三种组合\n\

\t2. 密码只能由字母开头\n\

\t3. 密码长度不能低于16位'")

break

往期笔记

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171219G0W3EB00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券