Ι 继续上一节得内容,这里主要是对各种知识的理解以及如何运用。
一、执行 python 脚本的两种方式
1.把Python执行文件加到计算机的环境变量中,然后新建文件把程序写在新文件里,再通过cmd命令打开命令提示符终端,输入python + 文件名(路径也要写全)回车执行即可。
2.直接在命令行输入python进入python解释器,然后把程序输入进去,执行获得结果
二、简述位、字节的关系
在计算机上,数据都是以二进制的方式来存储传输的,比如01011101,这就是一段数据,其中0或者1的个数称为位数,所以这里是八位,而字节则是数据量的更大一级的表示方法,一个字节由8位二进制数组成。
三、简述 ascii、unicode、utf-8、gbk 的关系
ASCΙΙ码使用一个字节编码,所以它的范围基本上只有英文字母、数字和一些特殊符号,只有256个字符。Unicode能够表示全世界所有的字节,在表示一个Unicode的字符时,通常会用“U+”然后紧接着一组十六进制的数字来表示这个字符。utf-8是一种针对Unicode的可变长度字符编码,又称万国码,它用一到六个字节编码Unicode字符。gbk是只用来编码汉字的,使用双字节编码。
四、请写出 “李杰” 分别用 utf-8 和 gbk 编码所占的位数
utf-8中一个中文字符占3个字节,所以有6个字节,即48位;gbk中一个中文字符占2字节,所以有4字节,即32位。
五、Pyhton 单行注释和多行注释分别用什么?
在python里,单行注释用#,即在这一行里,#后面的内容都是注释的;多行注释用""",结尾也要加上""",即从"""开始以下的内容都是注释部分,直到再次出现"""符号。
六、声明变量注意事项有那些?
python里声明变量时,只能用字母、数字和下划线组成,而且不能以数字开头。声明的变量不要与python中已有的关键字和内部定义的各种方法即函数重复,否则将使python的完整功能出现问题。一般命名较长时,可以用下划线作连接来表达,如用户号可命名为user_id。
七、如有一变量 n1 = 5,请使用 int 的提供的方法,得到该变量最少可以用多少个二进制位表示?
在int提供的方法里,bit_length()的功能是显示一个数字用二进制表示时的位数,所以可以用来计算一个整型变量最少可以用多少个二进制位表示。如下:
1 n1 = 5
2 r = n1.bit_length()
3 print(r)
得出结果为3位,即101。
八、布尔值分别有什么?
布尔值是用来表示逻辑上的真假的,即True和False,其对应的值分别为1和0。
九、阅读代码,请写出执行结果
1 a = "alex"
2 b = a.capitalize()
3 print(a)
4 print(b)
b执行的操作是把字符串a的首字母大写,即改为Alex。所以执行结果为:
alex
Alex
十、写代码,有一个变量 name = " aleX" ,请按照要求实现每个功能:
a. 移除 name 变量对应的值两边的空格,并输入移除后的内容 b. 判断 name 变量对应的值是否以 "al" 开头,并输出结果
c. 判断 name 变量对应的值是否以 "X" 结尾,并输出结果 d. 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
e. 将 name 变量对应的值根据 “l” 分割,并输出 f. 请问,上一题 e 分割之后得到值是什么类型(可选)?
g. 将 name 变量对应的值变大写,并输出结果 h. 将 name 变量对应的值变小写,并输出结果
i. 请输出 name 变量对应的值的第 2 个字符? j. 请输出 name 变量对应的值的前 3 个字符?
k. 请输出 name 变量对应的值的后 2 个字符? l. 请输出 name 变量对应的值中 “e” 所在索引位置?
m. 获取子序列,仅不包含最后一个字符。如: oldboy 则获取 oldbo; root 则获取 roo
1 name = " aleX" #定义name变量
2 name = name.strip() #移除两边的空格
3 print(name)
4 p = name.startswith("al") #判断是否是以al开头的
5 print(p)
6 p_1 = name.endswith("X") #判断是否是以X结尾的
7 print(p_1)
8 x = name.maketrans("l","p") #定义一个替换的对应关系
9 name_1 = name.translate(x) #进行替换
10 print(name_1)
11 p_2 = name.split("l") #根据“l”进行分割
12 print(p_2)
13 p_3 = name.upper() #全部转换成大写
14 print(p_3)
15 p_4 = name.lower() #全部转换成小写
16 print(p_4)
17 print(name[1]) #输出第二个字符
18 print(name[0:3]) #输出前两个字符
19 print(name[2:4]) #输出后两个字符
20 #输出字符“e”所在的索引位置
21 count = 0
22 for r in name:
23 while r == "e":
24 print(count)
25 break
26 count+=1
27 print(name[0:-1]) #获取子序列,仅不包含最后一个字符
十一、字符串是否可迭代对象?如可以请使用 for 循环每一个元素?
字符串是可以迭代对象的,比如可以用for循环每一个元素
1 name = "beautiful"
2 for x in name:
3 print(x)
十二、请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li = "alexericrain"
1 li = "alexericrain"
2 v = "_".join(li)
3 print(v)
十三、Python2 中的 range 和 python3 中的 range 的区别?
Python3中的range不会在未使用range时把所有的值输出,只是显示出range的范围,而Python2中的range则会在未使用时把所有的值都输出
十四、实现一个整数加法计算器,如: content = input('请输入内容:') # 如: 5+9 或 5+ 9 或 5 + 9
1 content = input("请输入内容:")
2 v = content.split("+")
3 count = 0
4 for x in v:
5 x = x.strip()
6 n = int(x)
7 count = count + n
8 print(count)
十五、计算用户输入的内容中有几个十进制小数?几个字母?如:content = input('请输入内容:') # 如:asduiaf878123jkjsfd-213928
1 content = input("请输入内容:")
2 a_num = 0
3 d_num = 0
4 for x in content:
5 if x.isalpha() == 1:
6 a_num+=1
7 elif x.isdecimal() == 1:
8 d_num+=1
9 print(a_num,d_num)
十六、制作趣味模板程序需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实如:敬爱可亲的 xxx,最喜欢在 xxx 地方干 xxx
1 name = input("请输入名字:")
2 address = input("请输入地点:")
3 action = input("请输入爱好:")
4 print("敬爱可亲的%s,最喜欢在%s%s"%(name,address,action))
十七、制作随机验证码,不区分大小写。
流程:
- 用户执行程序
- 给用户显示需要输入的验证码
- 用户输入的值
用户输入的值和显示的值相同时现实正确信息;否则继续生成随机验证码继续等待用户输入
1 def check_code():
2 import random
3 checkcode = ""
4 for i in range(4):
5 current = random.randrange(0,4)
6 if current != i:
7 temp = chr(random.randint(65,90))
8 else:
9 temp = random.randint(0,9)
10 checkcode += str(temp)
11 return checkcode
12
13 while(1):
14 code = check_code()
15 print(code)
16 passwd = input("请输入验证码:")
17 # 把系统生成的验证码和用户输入的都转换成小写
18 # 或者大写后,则可以实现不区分大小写
19 code = code.lower()
20 passwd = passwd.lower()
21 if passwd == code:
22 print("验证码正确!")
23 break
十八、开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:如 "苍老师" "东京热",则将内容替换为 ***
1 topic = input("请输入:")
2 topic = topic.replace("苍老师","***",10000)
3 topic = topic.replace("东京热","***",10000)
4 print(topic)
0