python学习作业(二)
1、执行Python 脚本的两种方式
答:交互模式和脚本模式
2、简述位、字节的关系
答:1字节=8位 1 Byte(B)= 8 bit;
3、简述ascii、unicode、utf‐8、gbk 的关系
答:ascii数字字母和一些常用的符号做成了一套编码,ASIIC编码中一个字符的大小就是1Byte;
unicode计算机进入中国后,ASCII完全不够用,将各国文字统一编码,所以Unicode编码可以看做是ASCII的扩展;
utf‐8编码可以理解成Unicode编码的一种升级,ASCII码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存;
GBK也是基于Unicode编码的进一步优化,GBK的文字编码是用双字节来表示的,即不论中、英文字符均使用双字节来表示。
4、请写出“李杰”分别用utf‐8 和gbk 编码所占的位数
utf-8下一个汉字占3个字节,2*3*8=48(byte);gbk下一个汉字占2个字节,2*2*8=32(byte)
5、Pyhton 单行注释和多行注释分别用什么?
答:单行用# 多行用 三个单引号或双引号
6、声明变量注意事项有那些?
答:变量名必须是大小写英文字母、数字或下划线的组合。变量名不能用数字开头。
变量名对大小写敏感。变量名不能是关键字,例如and、as、class等等。变量名不能使用特殊符号,例如:!、@、#、$、% 等
变量在使用前必须对其赋值。
变量没有明显的变量声明,而且类型不是固定的。
7、如有一下变量n1=5,请使用int 的提供的方法,得到该变量最少可以用多少个二进制位表示?
答案;十进制转化成二进制bin;十进制转化为八进制,使用方法oct(dec);然后十进制转化16进制,同样使用python的内置方法进行hex(dec)
十进制转化16进制,同样使用python的内置方法进行hex(dec);二进制转10进制用str(int(bin(dec), 2)
n1=5
print(bin(n1))
答案:0b101
8、布尔值分别有什么?
Ture False
9、阅读代码,请写出执行结果
a="alex"
b=a.capitalize()
print(a)
print(b)
答:alex
Alex
请写出输出结果:
10、写代码,有如下变量,请按照要求实现每个功能
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
答
print('a',name.strip())
print('b',name.startswith('al'))
print('c',name.endswith('X'))
print('d',name.replace('l','p'))
print('e',name.split('l'))
print('f',type(name.split('l')))
print('g',name.upper())
print('h',name.lower())
print('i',name[1])
print('j',name[:3])
print('k',name[-2:])
print('l',name.index('e'))
print('m',end=' ')
i=0
while i<len(name)-1:
print(name[i],end='')
i+=1
11、字符串是否可迭代对象?如可以请使用for 循环每一个元素?
答:
str='字符串是否可迭代对象?如可以请使用for 循环每一个元素?'
for i in str:
print(i,end=' ')
print()
12、请用代码实现:
a.利用下划线将列表的每一个元素拼接成字符串,li="alexericrain"
b.利用下划线将列表的每一个元素拼接成字符串,li=['alex','eric','rain'](可选)
str = "alexericrain"
print('_'.join(str))
str = ['alex','eric','rain']
print("_".join(str))
13、Python2 中的range 和Python3 中的range 的区别?
答:python2中range直接创建了列表,python3则是调用是创建
14、实现一个整数加法计算器:
如:content=input('请输入内容:')
如:5+9
jsq =input('请输入第一个数字:')
jsq2 = input('请输入第二个数字:')
print('计算结果%d + %d = %d' %(int(jsq),int(jsq2),int(jsq)+int(jsq2)))
15、计算用户输入的内容中有几个十进制小数?几个字母?
如:content=input('请输入内容:')
如:asduiaf878123jkjsfd‐213928
str = input('请输入内容:')
m = n = 0;
for i in str:
if i.isnumeric():
m+=1
else:
n+=1
print('字母:%d 个; 数字:%d 个' %(n,m))
16、简述int和9等数字以及str和"xxoo"等字符串的关系?
答:int表示数据类型为整形,9为整形数字。str表示字符串类型,“xxoo”表示一个字符串
17、制作趣味模板程序
需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实
如:敬爱可亲的xxx,最喜欢在xxx 地方干xxx
tempelate='敬爱可亲的{0},最喜欢在{1}地方干{2}'
name = input('请输入姓名:')
place = input('请输入地点:')
hobby = input('请输入爱好:')
print(tempelate.format(name,place,hobby))
18、开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:
如"苍老师""东京热",则将内容替换为***
str =input('请输入:')
mgch = ['苍老师','东京热']
for i in mgch:
str=str.replace(i,'***')
print(str)