Day2 homework

1、执行 Python 脚本的两种方式

       交互式 和 脚本式


2、简述位、字节的关系

      位(bit):一个二进制数据0或1,是计算机传输的最小单元

      字节(byte):存储空间的计量单元,1个字节有8个bit

      1字节=8位


3、简述 ascii、unicode、utf-8、gbk 的关系

      ascii 是最早美国用的标准信息交换码,把所有的字母的大小写,各种符号用 二进制来表示,共有256中,加入些拉丁文等字符,1bytes代表一个字符,

     Unicode是为了统一世界各国语言的不用,统一用2个bytes代表一个字符,可以表达2**16=65556个,称为万国语言,特点:速度快,但浪费空间,可以用在内存处理中,兼容了utf-8,gbk,ASCII,

     utf-8 为了改变Unicode的这种缺点,规定1个英文字符用1个字节表示,1个中文字符用3个字节表示,特点;节省空间,速度慢,用在硬盘数据传输,网络数据传输,相比硬盘和网络速度,体现不出来的,

      gbk  是中文的字符编码,用2个字节代表一个字符,


4、请写出 “李杰” 分别用 utf-8 和 gbk 编码所占的位数

      李杰 用utf-8占6个字节

      李杰 用gbk占4个字节


5、Pyhton 单行注释和多行注释分别用什么?

     单行注释用#

     多行注释用'''XXX'''


6、声明变量注意事项有那些?

     不能以数字开头、不能和python关键字重名、只能以数字字母和_来命名、不能和内部函数重名、变量命名最好是有意义


7、如有一下变量 n1 = 5,请使用 int 的提供的方法,得到该变量最少可以用多少个二进制位表示?

n1 = 5

v1=n1.bit_length()

print(v1)


8、布尔值分别有什么?

     True 和 False

9、阅读代码,请写出执行结果

a = "alex"

b = a.capitalize()

print(a)

print(b)

请写出输出结果:

alex

Alex


10、写代码,有如下变量,请按照要求实现每个功能

name = " aleX"

a. 移除 name 变量对应的值两边的空格,并输入移除后的内容

# name = " alex"

# v1 = name.strip()

# print(v1)


b. 判断 name 变量对应的值是否以 "al" 开头,并输出结果

# v2 = name.startswith("al")

# print(v2)


c. 判断 name 变量对应的值是否以 "X" 结尾,并输出结果

# v3 = name.endswith("X")

# print(v3)


d. 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果

#vt = str.maketrans("l","p")

# vd = name.translate(vt)

# print(vd)


e. 将 name 变量对应的值根据 “l” 分割,并输出结果

# ve = name.split("l")

# ve2 = name.partition("l")

# print(ve)

# print(ve2)


f. 请问,上一题 e 分割之后得到值是什么类型(可选)?

# vf = name.split("e ")

# print(vf)


g. 将 name 变量对应的值变大写,并输出结果

# vg = name.upper()

# print(vg)


h. 将 name 变量对应的值变小写,并输出结果

# vh=name.lower()

# print(vh)


i. 请输出 name 变量对应的值的第 2 个字符?

# name1="alexcvfs"

# print(name1[1])


j. 请输出 name 变量对应的值的前 3 个字符? 

# name1="alexcvfs"

# print(name1[0:3])


k. 请输出 name 变量对应的值的后 2 个字符?

# name1="alexcvfs"

# print(name[-2:])


l. 请输出 name 变量对应的值中 “e” 所在索引位置?

# vl=name1.find("e")

# print(vl)


m. 获取子序列,仅不包含最后一个字符。如: oldboy 则获取 oldbo; root 则获取 roo

# print(name.rstrip(name[-1:]))


21、字符串是否可迭代对象?如可以请使用 for 循环每一个元素?

字符串可以迭代

# name = "alex"

# for a in name:

# print(a)


22、请用代码实现:

a. 利用下划线将列表的每一个元素拼接成字符串,li = "alexericrain"

# li="alexxericrain"

# fg="_"

# v1=fg.join(li)

# print(v1)


b. 利用下划线将列表的每一个元素拼接成字符串,li = ['alex', 'eric', 'rain'] (可选)

# li=['alex',  'eric',    'rain']

# f="_"

# v2=f.join(li)

# print(v2)


23、Python2 中的 range 和 Python3 中的 range 的区别?

range在python2中直接生成了数据序列,同等情况下phthon3在有具体某个数的时候才会产生,这样会更少占用内存。


24、实现一个整数加法计算器:

如:

content = input('请输入内容:') # 如: 5+9 或 5+ 9 或 5 + 9

# n1=input("请输入内容:例如5 + 9")

# v=n1.split("+")

# n1=int(v[0])

# n2=int(v[1])

# n3=n1+n2

# print(n3)


25、计算用户输入的内容中有几个十进制小数?几个字母?

如:

content = input('请输入内容:') # 如:asduiaf878123jkjsfd-213928


26、简述 int 和 9 等数字 以及 str 和 "xxoo" 等字符串的关系?

     int为数值型数据类型,3.0后的数据可以是无限大。 str是字符串数据类型,每次给str赋予数据后,会在内存例划出一块空间给该数据,如果修改或者重新赋值时,会重新在划出一块空间给新数据,而不会改变原来的数据。


27、制作趣味模板程序

需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实

如:敬爱可亲的 xxx,最喜欢在 xxx 地方干 xxx

# name = input("请输入您的姓名:")

# where = input("请输入你想要的地点:")

# hobby = input("输入你的爱好")

# print("敬爱可亲的 'name',最喜欢在'where'地方干'hobby')


28、制作随机验证码,不区分大小写。

流程:

- 用户执行程序

- 给用户显示需要输入的验证码

- 用户输入的值

用户输入的值和显示的值相同时现实正确信息;否则继续生成随机验证码继续等待用户输入

生成随机验证码代码示例:


29、开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:

如 "苍老师" "东京热",则将内容替换为 ***

#while True:

#    name = input('请输入内容:')

#    if "苍井空" in name or "东京热" in name:

#        v = name.replace('苍井空', '*****')

#      v1 = v.replace('东京热', '*****')

#        print(v1)

#        exit()

#   else:

#        print(name)


30、制作表格

循环提示用户输入:用户名、密码、邮箱 (要求用户输入的长度不超过 20 个字符,如果超过则只有前 20 个字符有效)

如果用户输入 q 或 Q 表示不再继续输入,将用户输入的内容以表格形式大隐

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容