我的python之路6(基础练习)
---恢复内容开始---
1、执行Python 脚本的两种方式
打开Windows命令提示符
二、使用其它集成开发工具进行PYTHON程序的开发,如Eclips\Pycharm等,使用这种集成开发工具开发时,那都是大型的PYTHON项目了,以后开发大型PYTHON程序时肯定会用到的。
2、简述位、字节的关系
位:二进制位(bit)是计算机存储信息的基本单位,代表1个二进制数位,其值为0或1。
字节:8个连续的二进制位为一个字节,可以存放1个西文字符的编码
3、简述ascii、unicode、utf-‐8、gbk 的关系
ASIIC码:
计算机是美国人发明和最早使用的,他们为了解决计算机处理字符串的问题,就将数字字母和一些常用的符号做成了一套编码,这个编码就是ASIIC码。ASIIC码包括数字大小写字母和常用符号,一共128个,1字节(byte)=8bit,8bit能表示的最大数是256,所以ASIIC编码中一个字符的大小就是1个字节
Unicode编码:
计算机进入中国后,ASIIC完全不够用,于是我们就制定了自己的GB2312编码,把汉字编码了进去。类似的在各国都有相同的情况,各国都开始制定自己的一套编码,计算机的编码越来越庞大,越来越乱,为了解决这一问题,Unicode应运而生。Unicode将各国文字统一编码,所以Unicode编码可以看做是ASIIC的扩展。特点:速度快,但是占内存大。
UTF-8:
UTF-8编码可以理解成Unicode编码的一种升级,为了节省存储空间。UTF-8根据实际使用情况调节存储编码的位数,将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存等等
GBK:
GBK也是基于Unicode编码的进一步优化,GBK的文字编码是用双字节来表示的,即不论中、英文字符均使用双字节来表示
4、请写出“李杰”分别用utf-‐8 和gbk 编码所占的位数
24位
16位
5、Pyhton 单行注释和多行注释分别用什么?
#
'''
'''
6、声明变量注意事项有那些?
1、变量名只能是:字母、数字或下划线的组合。
2、变量名的第一个字符不能是数字。
3、
以下关键字不能声明为变量:
and,as,assert,break,class,continue,defdel,elif,else,except,finally,for,from,global,if,import,in,is,lambda,not,for,pass,print,raise,returm try,while,with,yield.
二:
变量命名习惯
1、
驼峰体
AgeOfOldboy
2、
下划线
age_of_oldboy (常用)
下划线
age_of_oldboy
7、如有一下变量n1=5,请使用int 的提供的方法,得到该变量最少可以用多少个二进制位表示?
n1 = 5 r = n1.bit_length() print(r)
输出 3
8、布尔值分别有什么?
布尔值 包括true和False两个值。在二进制中的0、1。在很多情况下,0被认为是 False,所有的非0 值均被认为是 True
9、阅读代码,请写出执行结果
a = "alex"
b = a.capitalize()
print(a)
print(b)
输出
alex
Alex
10、写代码,有如下变量,请按照要求实现每个功能
name="aleX"
a.
移除name 变量对应的值两边的空格,并输入移除后的内容
name = " aleX " v = name.strip() print(v)
输出
aleX
b.
判断name 变量对应的值是否以"al"开头,并输出结果
name = "aleX"
v = name.startswith("al")
print(v)
输出
True
c.
判断name 变量对应的值是否以"X"结尾,并输出结果
name = "aleX" v = name.endswith("X") print(v)
输出
True
d.
将name 变量对应的值中的“l”替换为“p”,并输出结果
name = "aleX" m = str.maketrans("aleX","apeX") new_n = name.translate(m) print(new_n)
输出
apeX
e.
将name 变量对应的值根据“l”分割,并输出结果。
f.
请问,上一题e分割之后得到值是什么类型(可选)?
g.
将name 变量对应的值变大写,并输出结果
name = "aleX" v = name.upper() print(v)
输出
ALEX
h.
将name 变量对应的值变小写,并输出结果
name = "aleX" v = name.lower() print(v)
输出
alex
i.
请输出name 变量对应的值的第2 个字符?
j.
请输出name 变量对应的值的前3 个字符?
k.
请输出name 变量对应的值的后2 个字符?
l.
请输出name 变量对应的值中“e”所在索引位置?
m.
获取子序列,仅不包含最后一个字符。如:
oldboy则获取oldbo;
root则获取roo
a.
21、字符串是否可迭代对象?如可以请使用for 循环每一个元素?
只要能被for循环就是可迭代对象
name="aleX" for z in name: print(z)
输出
a
l
e
X
22、请用代码实现:
a.利用下划线将列表的每一个元素拼接成字符串,li="alexericrain"
li = "alexericrain" v = "_".join(li) print(v)
输出
a_l_e_x_e_r_i_c_r_a_i_n
b.利用下划线将列表的每一个元素拼接成字符串,li=['alex','eric','rain'](可选)
li = ['alex','eric','rain'] v = "_".join(li) print(v)
输出
alex_eric_rain
23、Python2 中的range 和Python3 中的range 的区别?
Python2 :
range 立即创建
xrange for循环的时候才一个一个创建
Python3 :
range for循环的时候才一个一个创建
24、实现一个整数加法计算器:
如:content=input('请输入内容:')#如:5+9
value = input() v1,v2 = value.split("+") v1 = int(v1) v2 = int(v2) v = v1+v2 print(v)
输出
14
25、计算用户输入的内容中有几个十进制小数?几个字母?
如:content=input('请输入内容:')#如:asduiaf878123jkjsfd-‐213928
c1 = 0 c2 = 0 content = input('请输入内容:') for item in content: if item.isdigit(): c1 += 1 if item.isalpha(): c2 += 1 print('数字个数:',c1) print('字母个数:',c2)
输出
请输入内容:asduiaf878123jkjsfd-‐213928 数字个数: 12 字母个数: 13
26、简述int和9等数字以及以及和"xxoo"等字符串的关系?
类与对象的关系
27、制作趣味模板程序
需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实
如:敬爱可亲的xxx,最喜欢在xxx 地方干xxx
template = "敬爱可亲的{0},最喜欢在{1}地方干{2}" name = input(">>") interest = input(">>") site = input(">>") v = template.format(name,interest,site) print(v)
输出
敬爱可亲的liu,最喜欢在shui地方干zhongsheng
28、制作随机验证码,不区分大小写。
流程:
用户执行程序
给用户显示需要输入的验证码
用户输入的值
用户输入的值和显示的值相同时现实正确信息;否则继续生成随机验证码继续等待用户输入
生成随机验证码代码示例:
while True: code = check_code() print(code) code = code.upper() i=input('>>') i = i.upper() if code == i: break print('通过')
29、开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:如"苍老师""东京热",则将内容替换为***
i = input('>>') if "苍井空" in i or "东京热" in i: v = i.replace('苍井空', '***') v = v.replace('东京热', '***') print(v)
30、制作表格
循环提示用户输入:用户名、密码、邮箱(要求用户输入的长度不超过20 个字符,如果超过则只有前20 个字符有效)
如果用户输入q 或Q表示不再继续输入,将用户输入的内容以表格形式大隐
while True: v1 = input('>>') v2 = input('>>') v3 = input('>>') v11 = v1[0: 20] v22 = v1[0: 20] v33 = v1[0: 20] template = '{0}\t{1}\t{2}\n' text = template.format(v11, v22, v33) v = text.expandtabs() print(v) if v11 == 'q' or v11 == 'Q': break
---恢复内容结束---