python基础知识练习题(一)
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 = 5
v1=n1.bit_length()
print(v1)
8、布尔值bool分别为:True和False。
9、阅读代码写出执行结果:
a = " alex "
b = a.capitalize()
print(a)
print(b)
结果:
alex
Alex
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)) #结果:<class 'list'> <class 'tuple'>
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 += 1
pass
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)
''' 结果:
0
1
2
'''
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 checkcode code = 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)
python基础知识练习题(一)的更多相关文章
- python基础知识练习题(二)
1. 有两个列表 l1 = [11, 22, 33] l2 = [22, 33, 44] a.获取内容相同的元素列表 li = []l1 = [11, 22, 33] l2 = [22, 33, 44 ...
- python基础知识练习题一
1.执行Python脚本的两种方式 1.在计算机终端(运行cmd),输入安装的Python路径,然后输入Python脚本的路径,回车. 2.直接运行python 2.简述位.字节的关系. 1字节 = ...
- Python 基础知识(一)
1.Python简介 1.1.Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时 ...
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
- python基础知识(二)
以下内容,作为python基础知识的补充,主要涉及基础数据类型的创建及特性,以及新数据类型Bytes类型的引入介绍
- python 基础知识(一)
python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...
- python基础知识讲解——@classmethod和@staticmethod的作用
python基础知识讲解——@classmethod和@staticmethod的作用 在类的成员函数中,可以添加@classmethod和@staticmethod修饰符,这两者有一定的差异,简单来 ...
- python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。
本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...
- python 爬虫与数据可视化--python基础知识
摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...
随机推荐
- thrift使用
一.什么是thrift Thrift是一种接口描述语言和二进制通讯协议,它被用来定义和创建跨语言的服务.它被当作一个远程过程调用(RPC)框架来使用,是由FaceBook为“大规模跨语言服务开发”而开 ...
- js根据毫米/厘米算像素px
<html><meta http-equiv="content-type" content="text/html;charset=utf-8" ...
- Eclipse——手把手教新手安装Eclipse
一.准备工作:安装JRE和JDK. 全名分别为:Java Runtime Environmen和Java SE Development Kit,推荐直接在某度软件中心下载即可,注意区分64位和32位. ...
- R-----shiny包的部分解释和控件介绍
R-----shiny包的部分解释和控件介绍 作者:周彦通.贾慧 shinyApp( ui = fixedPage( fixedPanel( top = 50, right=50, width=200 ...
- Thunar 通过快捷键在当前文件夹打开终端
参考『Keyboard shortcut for open terminal here in thunar』\(^{[1]}\) 在 ganiserb/thunar-terminal 下载脚本. 将脚 ...
- Tomcat关闭失败,SEVERE: Could not contact localhost:8005. Tomcat may not be running.
SEVERE: Could not contact localhost:8005. Tomcat may not be running. Tomcat 启动后,关闭失败,显示以下 进入 java 的安 ...
- ZOJ 3604 Tunnel Network(凯莱定理)
题目链接: E - Tunnel Network ZOJ - 3604 题目大意: 给定编号1-n的点,和给定编号1-S 的联通图,刚开始1号联通图只有 1个顶点,就是编号为1的顶点,2号联通图也只有 ...
- LeetCode第二十四题-交换链表中节点值
Swap Nodes in Pairs 问题简介:给定链表,交换每两个相邻节点并返回链表. 举例: 输入:1->2->3->4 输出:2->1->4->3 链表结构 ...
- 手写代码 - java.util.List 相关
1-ArrayList 访问元素,不能使用ArrayList[0]形式!!!! 必须使用ArrayList.get(0);
- NOI2004郁闷的出纳员
传送门 题目看起来玄乎,但其实只需要一点点小 trick 就可以了. 我们可以用一个全局的 delta 来维护工资的调整记录 对于每一个新加入的员工,先判断是否低于最低工资下限,如果是,直接踢出,不做 ...