我的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

 




 





















 

 

---恢复内容结束---

posted @ 2019-01-13 11:40  流水众生  阅读(289)  评论(0编辑  收藏  举报