小甲鱼python入门014课后题_小甲鱼Python第014讲字符串:各种奇葩的内置方法 | 课后测试题及参考答案...

测试题:

0. 还记得如何定义一个跨越多行的字符串吗(请至少写出两种实现的方法)?

1 #方法一:使用三个单引号

2 str = '''wqeyiwyyeri,wrqre3 qereqerqr4 rqrqereq5 qerqrqre6 '''

7 print(str)8

9 #方法二:在小括号中使用单引号或者双引号,后面用换行符“\n”

10 str1 =(11 'riuqiurieu\n'

12 'fhdjhfjdshk,\n'

13 "hfjkhsdjhfjskh\n"

14 )15 print(str1)

1. 三引号字符串通常我们用于做什么使用?

三引号字符串在不赋值的情况下,通常当作跨行注释使用,例如:

1 '''这个在打印的时候看不到,主要可以用在代码编写过程的注释的作用。2 这样说,应该差不多。3 嗯哼~4 '''

5 print(1)

2. file1 = open('C:\windows\temp\readme.txt', 'r') 表示以只读方式打开“C:\windows\temp\readme.txt”这个文本文件,但事实上这个语句会报错,知道为什么吗?你会如何修改?

会报错是因为在字符串中,约定“\t”和“\r”分别表示“横向制表符(TAB)”和“回车符”(详见:https://www.cnblogs.com/hcxy2007107708/articles/10010196.html),因此并不会按照我们计划的路径去打开文件。

我们只需要使用原始字符串操作符(R或r)即可:

1 #‘r’表示按照原始字符串进行查找即可。

2 file1 = open(r'C:\windows\temp\readme.txt', 'r')

3. 有字符串:str1 = '鱼C资源打包',请问如何提取出子字符串:'www.fishc.com'

使用分片的方法:

1 str1 = ''

2 #str1[16]=w,str1[28]=m

3 str2 = str1[16:29]4 print(str2)

4. 如果使用负数作为索引值进行分片操作,按照第三题的要求你能够正确目测出结果吗?

ok! try it .

1 str1 = ''

2 str2 = str1[16:29]3 lenght =len(str1)4 print(lenght)5 str3 = str1[16-51:29-51]6 print(str2)7 print(str3)

5. 还是第三题那个字符串,请问下边语句会显示什么内容?

>>> str1[20:-36]

复制代码

会显示:空

6. 据说只有智商高于150的鱼油才能解开这个字符串(还原为有意义的字符串):

str1 = 'i2sl54ovvvb4e3bferi32s56h;$c43.sfc67o0cm99'

我可能是个“傻子”

猜测肯定是哪个  i love fishc.com

动动手:0. 请写一个密码安全性检查的代码:check.py

# 密码安全性检查代码

#

# 低级密码要求:

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

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

#

# 中级密码要求:

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

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

#

# 高级密码要求:

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

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

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

程序演示:

到目前为止,得到的最OK的代码,可能有点繁琐,也不知道应该怎样简化和完善,有看到的朋友可以给出自己的意见和想法哟~

1 #密码安全性检查 check.py

2 password = input("请输入需要检查的密码组合:")3 lenght =len(password)4 symbols = r'''~!@#$%^&*_=-/,.?<>;:[]{}|\()'''

5 alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'

6 numbers = "0123456789"

7 temp1 = '''高级密码要求:8 1. 密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)三种组合9 2. 密码只能由字母开头10 3. 密码长度不能低于16位11 '''

12 temp2 = '''\t您的密码安全级别评定为:'''

13 temp3 ="请继续保持"

14 require = '''\t低级密码要求:由单纯的数字或字母组成,长度小于等于8位;15 中级密码要求:由数字、字母或特殊字符任意两种组合,密码长度不能低于8位16 高级密码要求:由数字、字母及特殊字符三种组合,密码只能由字母开头,密码长度不能低于16位17 '''

18 i=019 #检查password中组成元素:

20 while 1:21 for each inpassword:22 if each insymbols:23 i +=1

24 break

25 for each inpassword:26 if each inalphabet:27 i +=1

28 break

29 for each inpassword:30 if each innumbers:31 i +=1

32 break

33

34 deflow_password( ):35 result = temp2 +"低"

36 print(result)37 print(temp1)38 defmid_password( ):39 result = temp2 +"中"

40 print(result)41 print(temp1)42 defhigh_password( ):43 result = temp2 +"高"

44 print(result)45 print(temp3)46 while (password.isspace() or lenght ==0):47 password =input( "\t密码输入错误,原因:空格或未输入。\n\t重新输入要检查的密码组合:")48 lenght =len(password)49 break

50

51 while (i !=1 and lenght <= 8) :52 password =input( "\t密码输入不符合要求。"+"\n\t密码要求:\n"+require+"\n\t重新输入要检查的密码组合:")53 lenght =len(password)54 break

55 while (i ==1 and lenght >8):56 password =input( "\t密码输入不符合要求。"+"\n密码要求:\n"+require+"\n\t重新输入要检查的密码组合:")57 lenght =len(password)58 break

59 if lenght <=8 and i ==1:60 low_password()61 break

62 elif i==3 and lenght > 16 and password[0] inalphabet:63 high_password()64 break

65 else:66 mid_password()67 break

1. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!

遍历输入的代码;

如何验证密码的类型,以及简化逻辑语句;

特殊情况的处理,以及陷入循环,和break  and continue的使用;

一轮检查结束后,进入下一轮的检查  不是直接结束

应该如何操作········

1.break

用break语句可以使流程跳出switch语句体,也可以用break语句在循环结构终止本层循环体,从而提前结束本层循环。

使用说明:

(1)只能在循环体内和switch语句体内使用break;

(2)当break出现在循环体中的switch语句体内时,起作用只是跳出该switch语句体,并不能终止循环体的执行。若想强行终止循环体的执行,可以在循环体中,但并不在switch语句中设置break语句,满足某种条件则跳出本层循环体。

2.continue

continue语句的作用是跳过本次循环体中余下尚未执行的语句,立即进行下一次的循环条件判定,可以理e799bee5baa6e997aee7ad94e58685e5aeb931333366303063解为仅结束本次循环。

注意:continue语句并没有使整个循环终止。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值