python练习2
练习题:
1、执行 Python 脚本的两种方式
终端下直接执行脚本 pyhton 1.py
交换界面执行 python
Linux下面直接执行 ./1.py
2、简述位、字节的关系
1字节=8位
3、简述 ascii、 Unicode、 utf-‐8、 gbk 的关系
ASCII 先出现
Unicode 后出现
utf-8 是Unicode的压缩版
gbk 再出现
4、请写出 “李杰” 分别用 utf-‐8 和 gbk 编码所占的位数
utf-8 6字节 一个汉字3个字节
gbk 4个字节
5、 Pyhton 单行注释和多行注释分别用什么?
单行注释 #
多行注释 “”“ ”“”
6、声明变量注意事项有那些?
可以下划线,字母,数字组成
开头不能是数字或者特殊字符
7、如有一下变量 n1 = 5,请使用 int 的提供的方法,得到该变量最少可以用多少个二进制位表示?
bit_length
8、布尔值分别有什么?
True
False
"" =>假
" " =>真
0 =>假
其他=>真
9、阅读代码,请写出执行结果
a = "alex"
b = a.capitalize()
print(a)
print(b)
请写出输出结果:
alex
Alex
10、写代码,有如下变量,请按照要求实现每个功能
name = " aleX"
11.移除 name 变量对应的值两边的空格,并输入移除后的内容
print(name)
v = name.strip()
print(v)
12.判断 name 变量对应的值是否以 "al" 开头,并输出结果
v = name.startswith("al")
print(v)
13.判断 name 变量对应的值是否以 "X" 结尾,并输出结果
v = name.endswith("X")
print(v)
14.将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
v = name.replace("l","p")
print(v)
15.将 name 变量对应的值根据 “l” 分割,并输出结果。
v = name.partition("l")
print(v)
16.请问,上一题 e 分割之后得到值是什么类型(可选)?
列表
17.将 name 变量对应的值变大写,并输出结果
v = name.upper()
print(v)
18.将 name 变量对应的值变小写,并输出结果
v = name.lower()
print(v)
19.请输出 name 变量对应的值的第 2 个字符?
i = name[1]
print(i)
20.请输出 name 变量对应的值的前 3 个字符?
i = name[2]
print(i)
21.请输出 name 变量对应的值的后 2 个字符?
l = len(name)
print(l)
i = name[4:6]
print(i)
22.请输出 name 变量对应的值中 “e” 所在索引位置?
index = name.index("e")
print(index)
23.获取子序列,仅不包含最后一个字符。如: oldboy 则获取 oldbo; root 则获取 roo
l = len(name)
print(l)
v = name[0:5]
print(v)
24、字符串是否可迭代对象?如可以请使用 for 循环每一个元素?
可迭代对象 == 可以被for循环获取
name = "aaddfsafsa"
for i in range(0,len(name)):
print(name[i])
25、请用代码实现:
a.利用下划线将列表的每一个元素拼接成字符串, li = "alexericrain"
li = "alexericrain"
b = "_".join(li)
print(b)
b.利用下划线将列表的每一个元素拼接成字符串, li = ['alex', 'eric', 'rain'] (可选)
li = ['alex', 'eric', 'rain']
b = "_".join(li)
print(b)
26、Python2 中的 range 和 Python3 中的 range 的区别?
python2 ,立即创建,不需要配合for循环,可以直接输出range
python3,一个一个创建,需要配合for循环输出range
27、实现一个整数加法计算器:
如:
content = input('请输入内容: ') # 如: 5+9 或 5+ 9 或 5 + 9 if "+" in content :
a = content.split("+")
a0 = a[0].strip()
a1 = a[1].strip()
b = int(a0) + int(a1)
print(b)
elif "-" in content :
a = content.split("-")
a0 = a[0].strip()
a1 = a[1].strip()
b = int(a0) - int(a1)
print(b)
elif "**" in content :
a = content.split("**")
a0 = a[0].strip()
a1 = a[1].strip()
b = int(a0) ** int(a1)
print(b)
elif "*" in content :
a = content.split("*")
a0 = a[0].strip()
a1 = a[1].strip()
b = int(a0) * int(a1)
print(b)
elif "//" in content :
a = content.split("//")
a0 = a[0].strip()
a1 = a[1].strip()
b = int(a0) // int(a1)
print(b)
elif "/" in content :
a = content.split("/")
a0 = a[0].strip()
a1 = a[-1].strip()
b = int(a0) / int(a1)
print(b)
elif "%" in content :
a = content.split("%")
a0 = a[0].strip()
a1 = a[1].strip()
b = int(a0) % int(a1)
print(b)
else:
print("sorry,This is not formula")
28、计算用户输入的内容中有几个十进制小数?几个字母?
如:
content = input('请输入内容: ') # 如: asduiaf878123jkjsfd-‐213928
a = 0 #赋值数字计算器
b = 0 #赋值字母或汉字计算器
c = len(content)
for i in range(0,c):
if i < c :
d = content[i].isnumeric() #确定是不是数字
e = content[i].isalpha() #确定是不是字母或汉字
if d == True : #判断是否为数字为真
a += 1
elif e == True : #判断是否为字母或汉字为真
b += 1
else:
continue
else:
print("end")
print("数字",a)
print("字母",b)
28、简述 int 和 9 等数字 以及 str 和 "xxoo" 等字符串的关系?
int
str
"alex"
123
类 和 对象的关系
29、制作趣味模板程序
需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实
如:敬爱可亲的 xxx,最喜欢在 xxx 地方干 xxx
test = '敬爱可亲的{0},您最喜欢在{1}这个地方干{2}'
a = input("名字:")
b = input("地点:")
c = input("爱好:")
d = test.format(a,b,c)
print(d)
30、制作随机验证码,不区分大小写。
流程:
-‐ 用户执行程序
-‐ 给用户显示需要输入的验证码
-‐ 用户输入的值
用户输入的值和显示的值相同时现实正确信息; 否则继续生成随机验证码继续等待用户输入
生成随机验证码代码示例:
#生成验证码的代码
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)
v = input(">>>>>>>")
v1 = v.upper() #所有小写变大写
if code != v1 :
print("验证码错误,请重新输入:")
continue
else:
print("欢迎登录!!!!!!!")
break
31、开发敏感词语过滤程序, 提示用户输入内容,如果用户输入的内容中包含特殊的字符:
如 "苍老师" "东京热",则将内容替换为 ***
a = input(">>>>>>>")
a = a.replace("苍井空","***")
a = a.replace("东京热","***")
print(a)
32、制作表格
循环提示用户输入:用户名、密码、邮箱 (要求用户输入的长度不超过 20 个字符,如果超过则只有前 20 个字符有效)
如果用户输入 q 或 Q 表示不再继续输入,将用户输入的内容以表格形式打印
s = "" #定义一个空变量进行存储每轮输入的值
while True:
user = input("username:")
pwd = input("password:")
email = input("email:")
tem = "{0}\t{1}\t{2}\n" #将输入的值放一起
v = tem.format(user,pwd,email) #格式化,放进传入的值
s = s + v #将输入的值填充到s变量里面
if user == "Q" or pwd == "Q" or email == "Q"or user == "q" or pwd == "q" or email == "q" :
break
print(s.expandtabs(20))# 将每一个字符串调整为20个字符