1、 执行 Python 脚本的两种方式
./python.py
python python.py
2、 简述位、字节的关系
1字节 = 8位
字节(byte)是常用的计算机存储单位
最小的存储单位称为位(bit)
3、 简述 ascii、unicode、utf-‐8、gbk 的关系
ASCII 英文
Unicode =utf-16 utf-8 (Unicode是统一码)
GBK 中文
4、 请写出 “李杰” 分别用 utf-‐8 和 gbk 编码所占的位数
utf-8 24
gbk 16
utf-8 一个汉字:三个字节
gbk 一个汉字:二个字节
5、 Pyhton 单行注释和多行注释分别用什么?
单行 #
多行 ’’’ ‘’’
(选中内容 ctrl+? 进行任意注释)
6、 声明变量注意事项有那些?
由字母、数字、下划线的组合,不允许数字开头,不允许有特殊字符。可以下划线开头
变量声明最好不要是关键字
7、 如有一下变量 n1 = 5,请使用 int 的提供的方法,得到该变量最少可以用多少个二进制位表示?
三个 101
8、布尔值分别有什么?
True(其它) False(0)
9、阅读代码,请写出执行结果
a = " dawn"
b = a.capitalize()
print(a)
print(b)
请写出输出结果:
dawn
Dawn
10、写代码,有如下变量,请按照要求实现每个功能
name = " dawN"
a.移除 name 变量对应的值两边的空格,并输入移除后的内容
print(name.stripe())
b.判断 name 变量对应的值是否以 "al" 开头,并输出结果
print(name.startswith())
c.判断 name 变量对应的值是否以 "X" 结尾,并输出结果
print(name.endswith())
d.将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
print(name.replace("l", "p"))
e. 将 name 变量对应的值根据 “l” 分割,并输出结果。
print(name.split('l'))
f.请问,上一题 e 分割之后得到值是什么类型(可选)?
列表
g.将 name 变量对应的值变大写,并输出结果
print(name.upper())
h.将 name 变量对应的值变小写,并输出结果
print(name.lower())
i.请输出 name 变量对应的值的第 2 个字符?
print(name[1])
j.请输出 name 变量对应的值的前 3 个字符?
for temp in range(0, 3):
print(temp, name[temp])
k.请输出 name 变量对应的值的后 2 个字符?
for temp in range(-2, 0):
print(temp, name[temp])
l.请输出 name 变量对应的值中 “w” 所在索引位置?
print(name.index("e"))
m.获取子序列,仅不包含最后一个字符。如: oldboy 则获取 oldbo; root 则获取 roo
m = input(">>>")
print(m[:-1])
11、字符串是否可迭代对象?如可以请使用 for 循环每一个元素?
字符串可迭代
for key in name:
print (key)
12、请用代码实现:
a. 利用下划线将列表的每一个元素拼接成字符串,li = "alexericrain"
print('_'.join('alexjoinrain')
b. 利用下划线将列表的每一个元素拼接成字符串,li = ['alex', 'eric', 'rain'] (可选)
print( '_'.join(['alex','ton', 'ccoco'])
13、Python2 中的 range 和 Python3 中的 range 的区别?
python2中的range返回的是一个列表 python2中rang立即创建
python3中的range返回的是一个迭代值 python3中rang for循环时才会一个一个创建
for i in range(1,10)在python2和python3中都可以使用,但是要生成1-10的列表,就需要用list(range(1,10))
14、实现一个整数加法计算器:
如:
content = input('请输入内容:') # 如: 5+9 或 5+ 9 或 5 + 9
s = input(">>>")
v1, v2 = s.split('+')
print(int(v1) + int(v2))
15、计算用户输入的内容中有几个十进制小数?几个字母?
如:
content = input('请输入内容:') # 如:asduiaf878123jkjsfd-‐213928
num = 0
zimu = 0
item = input(">>>")
for temp in item:
if temp.isdecimal() == True:
num += 1
elif temp.isalpha() == True:
zimu += 1
else:
pass
print("字母个数为:", zimu)
print('数字个数为:', num)
16、简述 int 和 9 等数字 以及 str 和 "xxoo" 等字符串的关系?
int和9,str和“xxoo”的关系为 类
和对象的关系
(int 整形可以运算
int 可以转成str
str 只能拼接,不可以运算 )
17、制作趣味模板程序
需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实
如:敬爱可亲的 xxx,最喜欢在 xxx 地方干 xxx
temp = ("帅气聪明的{0},今天在{1},{2}")
name = input("请输入你的姓名:")
place = input("请输入你喜欢去的地方:")
favorite = input("请输入你喜欢做的事情:")
print(temp.format(name, place, favorite))
18、制作随机验证码,不区分大小写。
流程:
-‐ 用户执行程序
-‐ 给用户显示需要输入的验证码
-‐ 用户输入的值
用户输入的值和显示的值相同时现实正确信息;否则继续生成随机验证码继续等待用户输入
生成随机验证码
代码示例:
def check_code():
import random
check_code = ''
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)
check_code += str(temp)
return check_code
code = check_code()
print(code)
def check_code(): import random check_code = '' 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) check_code += str(temp) return check_code code = check_code() while True: code = check_code() print (code) v = input('请输入验证码>>>>') v1 = v.upper() if v1 == code: print ('验证码正确') break else: pass
19、开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:
如 "苍老师" "东京热",则将内容替换为 ***
shuru = input(">>>") shuru = shuru.replace("苍老师", "***") shuru = shuru.replace("东京热", "***") print(shuru)
20、制作表格
循环提示用户输入:用户名、密码、邮箱 (要求用户输入的长度不超过 20 个字符,如果超过则只有前 20 个字符有效)
如果用户输入 q 或 Q 表示不再继续输入,将用户输入的内容以表格形式打印
W = "用户名\t密码\t邮箱\n" while 1 == 1: name = input("用户名:") if name == "q" or name == "Q" or name == "no": print(w) break passwd = input("密码:") if passwd == "q" or passwd == "Q" or quit == "no": print(w) break mail = input("邮箱:") if mail == "q" or mail == "Q" or mail == "no": print(w) break Name = name[0:20] Pwd = passwd[0:20] Mail = mail[0:20] b = "{0}\t{1}\t{2}\n".format(Name,Pwd,Mail)#形式一样的字符串可以相加 W = W + b w = W.expandtabs(20) continue