1.执行Python脚本的两种方式
1)调用解释器 Python +绝对路径+文件名称
2)调用解释器 Python +相对路径+文件名称
2.简述位、字节的关系
8位为1个字节
3.简述ASCII、unicode、utf-8、gbk的关系
ascii 是最早美国用的标准信息交换码,把所有的字母的大小写,各种符号用 二进制来表示,共有256中,加入些拉丁文等字符,1bytes代表一个字符,
Unicode是为了统一世界各国语言的不同,统一用2个bytes代表一个字符,可以表达2**16=65556个,称为万国语言,特点:速度快,但浪费空间,
可以用在内存处理中,兼容了utf-8,gbk,ASCII,
utf-8 为了改变Unicode的这种缺点,规定1个英文字符用1个字节表示,1个中文字符用3个字节表示,特点;节省空间,速度慢,用在硬盘数据传输,网络数据传输,相比硬盘和网络速度,体现不出来的,
gbk 是中文的字符编码,用2个字节代表一个字符,
4.请写出"李杰"分别用utf-8和gbk编码所占的位数
utf-8:48位
gbk:32位
5.Pyhton单行注释和多行注释分别用什么表示?
单行注释:#
多行注释:"""
6.声明变量注意事项有哪些?
Python 与大多数其它语言一样有局部变量和全局变量之分,但是它没有明显的变量声明。变量通过首次赋值产生,当超出作用范围时自动消亡。
Python 不允许引用一个未被赋值的变量,否则会引发一个异常。
7.如有以下变量n1=5,请使用int的提供方法,得到该变量最少可以用多少个二进制位表示?
5位 输出为0b101
v2 = bin(int(5))
print(v2)
8.布尔值分别有什么?
True False
9.阅读代码,写出执行结果
a ="alex"
b=a.capitalize()
print(a)
print(b)
输出结果
alex
Alex
10.写代码,有如下变量,请按照要求实现每个功能
# a ="alex"
# b=a.capitalize()
# print(a)
# print(b)
name = " aleX"
# a.移除name变量对应的值两边的空格,并输入移除后的内容
n1=name.strip()
print(n1)
#b.判断name变量对应的值是否以"al"开头,并输出结果
n2=name.startswith("al")
print(n2)
#c.判断name变量对应是否以"X"结尾,并输出结果
n3=name.endswith("X")
print(n3)
#d.将name变量对应的“l”替换为“p”,并输出结果
n4=name.replace("l","p")
print(n4)
#e.将name变量对应的值根据“l”分割,并输出结果
n5=name.split("l")
print(n5)
#f.请问,上一题e分割之后得到值是什么类型
#列表
#g.将name变量对应的值变大写,并输出结果
n6=name.upper()
print(n6)
#h.将name变量对应的值变小写,并输出结果
n7=name.lower()
print(n7)
#i.请输出name变量对应的值的第2个字符
n8=name[2]
print(n8)
#请输出name变量对应的值得前3个字符
n9=name[0:3]
print(n9)
#请输出name变量对应的值得后2个字符
n10=name[-1:-2]
print(n10)
#请输出name变量对应的值中"e"所在的索引位置
n11=name.find("e")
print(n11)
#获取子序列,仅不包含最后一个字符,如 oldboy则获取oldbo;root则获取roo
n12=input(">>>")
l=len(n12)
n13=n12[0:l-1]
print(n13)
21.字符串是否可迭代对象?如可以请使用for循环每一个元素?
字符串可以迭代
#将文件按照索引打印出来
test = input(">>>>")
for item in test:
print(item)
22.请用代码实现
# a.利用下划线将列表的每一个元素拼接成字符串,li = "alexericrain"
li=['a','l','e','x','e','r','i','c','r','a','i','n']
li1='-'.join(li)
print(li1)
############################################################################
# b.利用下划线将列表的每一个元素拼接成字符串,li = ['alex', 'eric', 'rain']
li2 = ['alex', 'eric', 'rain']
li3=''.join(li2)
print(li3)
############################################################################
23.Python2中的range和Python3中的range区别
Python2中的range会直接在内存中生成序列
Python3中会生成一个范围,实际上节省了内存空间
24.如何实现一个整数加法计算器,如 5+9或5 +9或5 + 9
content = input('请输入内容:')
print(content.replace(' ',''))
25.计算用户输入内容有几个十进制小数?几个字母?
content = input('请输入内容:')
import re
#字母
y = len(re.findall(r'[a-z]',content))
print('出现的字母个数为:',y)
#数字
z = len(re.findall(r'[0-9]',content))
print('出现的数字个数为:',z)
26.简述int和9等数字以及str和"xxoo"等字符串的关系
类和对象的关系
27.制作趣味模板
需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意实现
test = "敬爱可亲的{0},最喜欢在{1},地方{2}"
name= {input("输入名称")}
place= {input("地点")}
doing={input("事件")}
print(test.format(name,place,doing))
28.制作随机验证码,不区分大小写
####################################################################################
# def check_code():
# import random
# checkcode = ""
# for i in range(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()
# while True:
# code = check_code()
# print(code)
# app = input("请输入验证码:")
# if code.upper() == app.upper():
# print("输入正确")
# break
# else:
# print("输入错误")
# s = input("是否重新输入?")
# if s == "no":
# break
# else:
# continue
############################摘抄至网络#############################################
29.开发敏感词语过滤程序,提示用户输入内容,如果用户输入内容中包含特殊的字符:“苍老师”、“东京热”,则将内容替换为***
v=input(">>>")
v1=v.replace("苍老师","***")
v2=v1.replace("东京热","***")
print(v2)
30.制作表格
循环提示用户输入:用户名、密码、邮箱(要求用户输入的长度不超过20个字符,如果超过则只有前20个字符有效)
如果用户输入q或Q表示不再继续输入,将用户输入的内容以表格形式显示。
s=""
while True:
name= input("请输入用户名:")
if name =="q"or name=="Q":
break
if len(name)>=20:
name = name[0:20]
pwd = input("请输入密码:")
if len(pwd)>=20:
name = pwd[0:20]
email=input("请输入邮箱:")
if len(email)>=20:
name = email[0:20]
template = "{0} {1} {2}
"
v=template.format(name,pwd,email)
s +=v
print(s.expandtabs(20))