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

往期笔记

本文来自企鹅号 - 软件测试经验与教训媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏章鱼的慢慢技术路

《算法图解》第二章笔记与课后练习_选择排序算法

1583
来自专栏老九学堂

【超全】C语言初学者必须掌握的关键字!

其实小伙伴在写代码的时候,关键字还是用的比较多的,老九主要就平常中用到的常用关键字进行总结,便于小伙伴们更全面的理解其在代码中的意图。 C语言关键字总结 sta...

3656
来自专栏专注 Java 基础分享

Java 的异常处理机制

1092
来自专栏我的技术专栏

细说new与malloc的10点区别

1503
来自专栏技术沉淀

Python: itertools模块任性迭代

1192
来自专栏用户画像

外部排序的方法

在实际应用中,由于外存设备的不同,通常又可分配磁盘文件排序和磁带文件排序两大类。磁带排序和磁盘排序的基本步骤相类似,主要的不同之处在于初始归并段在外存介质中的分...

991
来自专栏编程坑太多

理解 JavaScript 的 async/await

1863
来自专栏java一日一条

Java transient关键字使用总结

哎,虽然自己最熟的是Java,但很多Java基础知识都不知道,比如transient关键字以前都没用到过,所以不知道它的作用是什么,今天做笔试题时发现有一题是关...

661
来自专栏Hongten

看来就知道的模板方法模式---java版_源码下载

=================================================

873
来自专栏C/C++基础

控制对象的创建方式(禁止创建栈对象or堆对象)和创建的数量

我们知道,C++将内存划分为三个逻辑区域:堆、栈和静态存储区。既然如此,我称位于它们之中的对象分别为堆对象,栈对象以及静态对象。通常情况下,对象创建在堆上还是在...

852

扫码关注云+社区