博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python基础知识练习题(一)
阅读量:4987 次
发布时间:2019-06-12

本文共 5275 字,大约阅读时间需要 17 分钟。

1、执行Python脚本的两种方式:WIN+R,cmd,命令行窗口输入:python  进入python模式输入命令行直接执行命令;编写以.py结尾的文件,写入命令行,然后运行python.exe打开后缀为.py的文件。

2、简述位、字节的关系:位,是指机器码(二进制)中存储时候的所占的位数;字节,是指编程过程中一个英文字母、数字、汉字或者符号所占的单位成为字节。1字节=1byte=8位=8bit

3、简述ASCII、unicode、utf-8和gbk的关系:ASCII码是英文字母和美国常用特殊字符所对应的二进制机器码的对应表,一个字节用8位二进制表示;Unicode则是所有国家的语言和所有特殊字符所对应二进制机器码的对应表,一个字节用32位二进制表示;utf-8也是所有国家的语言和所有特殊字符所对应二进制机器码的对应表,一个字节字少用24位二进制表示,前面为0的位则自动省略;gbk码是汉字和中国常用特殊字符所对应的二进制机器码的对应表,一个字节用16位二进制表示。Unicode包括所有ASCII、utf-8和gbk,utf-8包括ASCII和gbk。

4、“李杰”用utf-8和gbk编码所占的位数:6~8位,4位

5、Python单行注释和多行注释用:#,3个英文单引号或者3个英文单引号

6、变量注意事项:只能是英文、数字或下划线(_)组成,不能纯数字,不能使用关键字和Python中内部函数,不能数字开头,最好用英文具有实际意义的词语定义变量。

7、若 变量n1=5,使用int提供的功能,得到该变量最少可以用多少个二进制位表示:

输入代码:

n1 = 5v1=n1.bit_length()print(v1)

8、布尔值bool分别为:True和False。

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

a = " alex "b = a.capitalize()print(a)print(b)

结果:

alexAlex

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

name = " aleX "

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

name = " aleX " print(name.strip())

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

name = " aleX " print(name.startswith('al'))

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

name = " aleX " print(name.endswith('X'))

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

name = " aleX " print(name.replace('l','p'))

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

name = " aleX " print(name.split('l'))  #输出结果:[' a', 'eX '] # 比较 print(name.partition('l'))  #输出结果:(' a', 'l', 'eX ')

f、请问,上一题 e  分割之后得到值是什么类型

 字符串类型,验证代码:

name = " aleX " a = name.split('e ') b = name.partition('e ') print(type(a), type(b))  #结果:

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

name = " aleX "print(name.upper())

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

name = " aleX "print(name.lower())

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

name = " aleX "print(name[1])

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

name = " aleX " index = 0 while index < 3:     print(name[index])     didex += 1pass

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

name = " aleX "print(name[-2:len(name)])

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

name = " aleX "print(name.find('e'))

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

name = " aleX "print(name[0:len(name)])

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

是可迭代对象,迭代代码:

str = 'jim'for v in str:  print(v)

12、请使用代码实现:

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

li = "alexericrain"print('_'.join(li))  #结果:a_l_e_x_e_r_i_c_r_a_i_n

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

li = ['alex', 'eric', 'rain']print('_'.join(li))  #结果:alex_eric_rain

13、Python2 中的 range 和 Python3 中的 range 的区别

Python2中:range直接生成了数据序列,这样会占用很大的内存

(xrange跟python3中range功能一样)

Python3中:range虽然也生出数列,但只有在取出某个数的时候才会生出,占用的内存比较小。

补充:

for i in range(0,2,1): print(i)  ''' 结果:
012 '''
for i in range(2,0,-1): print(i) ''' 结果:
2 1 0 '''

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

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

concent = input("请输入加法内容例如2+1,按回车:")
v1, v2 = concent.split('+') v1 = int(v1) v2 = int(v2) print(v1+v2)

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

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

c1 = 0 c2 = 0 val = input("请输入内容:") for item in val:     if item.isdigit():     # 判定item是否为数字         c1 += 1     if item.isalpha():     # 判定item是否为字母         c2 += 1 print('包含 %d 个数字' % c1) print('包含 %d 个字母' % c2)

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

类和对象的关系

17、制作趣味模板程序

需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实
如:敬爱可亲的 xxx,最喜欢在 xxx 地方 xxx

template = "敬爱可亲的{},最喜欢在{}地方{}" name = input("名字:") place = input("地方:") thing = input("事情:") v = template.format(name,place,thing) print(v)

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

流程:
   - 用户执行程序
   - 给用户显示需要输入的验证码
   - 用户输入的值
用户输入的值和显示的值相同时现实正确信息;否则继续生成随机验证码继续 等待用户输入。生成随机验证码代码示例:

def check_code():    import random    for i in rang(4):        current = random.randrange(0,4)        if current != chr(random.randint(65,90))        else:              temp = random.randint(0,9)        checkcode += str(temp)    return checkcodecode = check_code()print(code)
while True:     def check_code():         import random         checkcode = ''         for i in rang(4):             current = random.randrange(0,4)         if current != i:             temp = chr(random.randint(65,90))         else:             temp = random.randint(0,9)         checkcode += str(temp)         return checkcode     code = check_code()     print(code)     code = check_code()     v2 = print(code)     v1 = input('请输入验证码:')     if v1.upper() == v2.upper():         print('输入正确')         break     else:         print('请重新输入验证码:') # 输出验证码部分代码报错

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

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

pd = True while pd:     inp1 = input("请输入信息,如果想结束程序请输入q或者Q回车即可:")     if inp1 == "q" or inp1 == "Q":         pd = False     else:         v3 = inp1.replace("东京热", "***")         v3 = v3.replace("苍老师", '***')         print(v3)

20、制作表格

循环提示用户输入:用户名、密码、邮箱 (要求用户输入的长度不超过 20 个字符,如果超过则只有前 20 个字符有效),如果用户输入 q 或 Q 表示不再继续输入,将用户输入的内容以表格形式打印

pd = True sc="用户名\t密码\t邮箱\n" while pd:     name = input("请输入用户名:")     passwd = input("请输入密码:")     email = input("请输入mail:")     if name == "q" or name == "Q":         break     else:         b1 = "{0}\t{1}\t{2}\n"         if len(name) > 20:             b2 = b1.format(name[0:20], passwd, email)         elif len(passwd)>20 :             b2 = b1.format(name, passwd[0:20], email)         elif len(email)>20 :             b2 = b1.format(name, passwd, email[0:20])         else:             b2 = b1.format(name, passwd, email)         sc=sc+b2     sc = sc.expandtabs(20)     print(sc)

 

转载于:https://www.cnblogs.com/HGJBKY/p/10752077.html

你可能感兴趣的文章
20165303第六周学习总结
查看>>
CodeForces 701C They Are Everywhere 尺取法
查看>>
make 的可选参数
查看>>
全面盘点当前Android后台保活方案的真实运行效果(截止2019年前)
查看>>
目前已经知道的乐视所有产品各个型号的强刷方法!更新X50
查看>>
ASP.NET MVC 排球计分程序 (三)需求分析与数据库设计
查看>>
AOF 持久化策略
查看>>
MVC中使用RadioButtonFor
查看>>
小议:部署SharePoint 2013时,无法连接SQL Server问题
查看>>
登录之后更新导航
查看>>
图算法
查看>>
格式化日期的时候出现“对象不能从 DBNull 转换为其他类型。 ”的错误
查看>>
构建stm32最小系统板注意事项
查看>>
HTTP 错误 500.21 - Internal Server Error 解决方案 .
查看>>
树莓派Centos系统每次重启时间回到1970年如何解决?
查看>>
黑盒测试实践第二天
查看>>
传智播客_Springmvc+Mybatis由浅入深全套视频教程(燕青)-mybatis笔记(两天)(2017年8月5日16:12:20)...
查看>>
Android M Permission 运行时权限 学习笔记
查看>>
第一次迭代开发心得
查看>>
codeforces R 493 div2
查看>>