⼩甲鱼Python第014讲字符串:各种奇葩的内置⽅法课后测试题
及参考答案
测试题:
0. 还记得如何定义⼀个跨越多⾏的字符串吗(请⾄少写出两种实现的⽅法)?
1#⽅法⼀:使⽤三个单引号
2 str = '''wqeyiwyyeri,wrqre
3qereqerqr
4rqrqereq
5qerqrqre
6'''
7print(str)
8
9#⽅法⼆:在⼩括号中使⽤单引号或者双引号,后⾯⽤换⾏符“\n”
10 str1 = (
11'riuqiurieu\n'
12'fhdjhfjdshk,\n'
13"hfjkhsdjhfjskh\n"
14 )
15print(str1)
1. 三引号字符串通常我们⽤于做什么使⽤?
  三引号字符串在不赋值的情况下,通常当作跨⾏注释使⽤,例如:
1'''这个在打印的时候看不到,主要可以⽤在代码编写过程的注释的作⽤。
2这样说,应该差不多。
3嗯哼~
4'''
5print(1)
  我们只需要使⽤原始字符串操作符(R或r)即可:
1#‘r’表⽰按照原始字符串进⾏查即可。
2 file1 = open(r'C:\windows\', 'r')
3. 有字符串:str1 = '<a href="www.fishc/dvd" target="_blank">鱼C资源打包</a>',请问如何提取出⼦字符串:'www.fishc'  使⽤分⽚的⽅法:
1 str1 = '<a href="www.fishc/dvd" target="_blank">'
2#str1[16]=w,str1[28]=m
3 str2 = str1[16:29]
4print(str2)
4. 如果使⽤负数作为索引值进⾏分⽚操作,按照第三题的要求你能够正确⽬测出结果吗?
ok! try it .
1 str1 = '<a href="www.fishc/dvd" target="_blank">'
2 str2 = str1[16:29]
3 lenght = len(str1)
4print(lenght)
5 str3 = str1[16-51:29-51]
6print(str2)
7print(str3)
5. 还是第三题那个字符串,请问下边语句会显⽰什么内容?
1. >>> str1[20:-36]
复制代码
  会显⽰:空
6. 据说只有智商⾼于150的鱼油才能解开这个字符串(还原为有意义的字符串):
  str1 = 'i2sl54ovvvb4e3bferi32s56h;$c43.sfc67o0cm99'
我可能是个“傻⼦”
猜测肯定是哪个  i love fishc
动动⼿:
0. 请写⼀个密码安全性检查的代码:check.py
# 密码安全性检查代码
#
# 低级密码要求:
#  1. 密码由单纯的数字或字母组成
switch语句必须使用break吗
#  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=0
19#检查password中组成元素:
20while 1:
21for each in password:
22if each in symbols:
23            i +=1
24break
25for each in password:
26if each in alphabet:
27            i +=1
28break
29for each in password:
30if each in numbers:
31            i +=1
32break
33
34def low_password( ):
35              result = temp2 +"低"
36print(result)
37print(temp1)
38def mid_password( ):
39            result = temp2 +"中"
40print(result)
41print(temp1)
42def high_password( ):
43            result = temp2 +"⾼"
44print(result)
45print(temp3)
46while (password.isspace() or  lenght == 0):
47        password =input( "\t密码输⼊错误,原因:空格或未输⼊。\n\t重新输⼊要检查的密码组合:")
48        lenght = len(password)
49break
50
51while (i !=1  and lenght <= 8 ) :
52        password =input( "\t密码输⼊不符合要求。"+"\n\t密码要求:\n"+require+"\n\t重新输⼊要检查的密码组合:")
53        lenght = len(password)
54break
55while  (i ==1 and lenght >8):
56        password =input( "\t密码输⼊不符合要求。"+"\n密码要求:\n"+require+"\n\t重新输⼊要检查的密码组合:")
57        lenght = len(password)
58break
59if lenght <=8 and i ==1:
60            low_password()
61break
62elif i==3 and lenght > 16 and password[0] in alphabet:
63            high_password()
64break
65else:
66            mid_password()
67break
1. 请写下这⼀节课你学习到的内容:格式不限,回忆并复述是加强记忆的好⽅式!
  遍历输⼊的代码;
  如何验证密码的类型,以及简化逻辑语句;
  特殊情况的处理,以及陷⼊循环,和break  and continue的使⽤;
  ⼀轮检查结束后,进⼊下⼀轮的检查不是直接结束
应该如何操作········
  1.break
  ⽤break语句可以使流程跳出switch语句体,也可以⽤break语句在循环结构终⽌本层循环体,从⽽提前结束本层循环。
  使⽤说明:
    (1)只能在循环体内和switch语句体内使⽤break;
    (2)当break出现在循环体中的switch语句体内时,起作⽤只是跳出该switch语句体,并不能终⽌循环体的执⾏。若想强⾏终⽌循环体的执⾏,可以在循环体中,但并不在switch语句中设置break语句,满⾜某种条件则跳出本层循环体。
  2.continue
  continue语句的作⽤是跳过本次循环体中余下尚未执⾏的语句,⽴即进⾏下⼀次的循环条件判定,可以理
e799bee5baa6e997aee7ad94e58685e5aeb931333366303063解为仅结束本次循环。
  注意:continue语句并没有使整个循环终⽌。     

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。