1. 执行Python的脚步本方式有哪些?
两种。
一种是通过调用python解释器,选择指定的文件进行执行。另一种是进入python解释器内,边编译边执行。
2. 简述位、字节的关系。
1个字节=8位=8bit。计算机执行的时候是以字节进行的,但计算的时候是以位进行的。
3. 简述ASCII、Unicode、UTF-8、GBK的关系。
ASCII只支持英文及数字和符号的编码,使用于以英语为主的国家。
Unicode支持语言多,至少用16位,即2个字节去表示。如果是中文,则需要3个字节来表示。占用空间比较大,比较浪费空间。
UTF-8:可以动态调整存储空间的大小。存储一个汉字需3个字节。
另外ASCII可以和Unicode编码互转,UTF-8可以和Unicode编码互转,但ASCII和UTF-8不能直接互转,需要通过Unicode才能转换。
GBK:是适合中文编码。一个汉字需要2个字节。如果是纯中文,使用GBK合适。
4. 请写出“快乐”分别用UTF-8和GBK编码所占的位数。
UTF-8:2个字节,16位。
GBK:2个字节,16位。
words = “快乐”
Python3中:len(words) #2个字符
Python2中:len(words) #6个字节
5. Python单行注释和多行注释分别用什么?
单行注释:用#。
多行注释:用""" """或''' '''。
6. 声明变量注意事项有哪些?
1. 变量命名规则:只能包含字母、数字和下划线,且不能以数字开头。
2. Python关键字及内置函数不能作为变量名。
3. 变量声明的要有意义,多个变量之间建议用下划线“_”进行连接。
4. 常量的表示方式为字母全部大写。
7. 如有以下变量n1 = 5,请使用int 提供的方法,得到该变量最少可以用多少个字节?
bit_length
8. 布尔值分别有什么?
True 和 False。
补充:
空字符串为False,非空字符串为True。
0为False,非0为True。
bool():将数字、字符串转换成布尔值。
9. 字符串是否可以迭代对象?如可以请使用for循环每一个元素。
可以。
for item in str:
print(item)
可迭代对象。如果可以被for循环,就是可迭代对象。
10. Python2中的range和Python3中的range的区别。
Python2中的range会直接创建。Python2中的xrange同Python3中的range用法一样。
Python3中的range只有在循环、迭代的时候才创建,这样可以节省内存。
补充:生成100到1的代码
for i in range(100,0,-1)
print(i)
11. 编写一个如下整数加法计算器:
value = input() # 如: 10+9 5+3
va,vb = input().split('+') va = int(va) vb = int(vb) print(va + vb)
11. 计算用户输入的内容中有几个十进制点小数?几个字母?
v1 = 0 v2 = 0 value = input("Please input: ") for item in value: if item.isnumeric(): v1 += 1 if item.isalpha(): v2 += 1 print(v1,v2)
12. 简述 int --- 9 ,str --- “hello world” , bool --- True 的关系
类 对象
int 9
str hello world
bool True
13. 编写简单的“某人”的“某爱好”是去“某地”。
name = input("Please input your name: ") hobby = input("Please input your hobby: ") place = input("Please input your favourite place: ") words = f"The most respect and lovely is + {name} + , whose hobby is + {hobby} " \ f"+ .Because the + {place} is very beautiful+ ." print(words)
Please input your name: 1
Please input your hobby: 2
Please input your favourite place: e
The most respect and lovely is + 1 + , whose hobby is + 2 + .Because the + e is very beautiful+ .
14. 编写随机验证码,不区分大小写。要求如下:
用户执行程序时,显示用户需要输入的验证码
显示用户的输入值
用户输入值和显示值一致时,显示正确信息。
否则继续生成验证码让用户输入正确的值。
def check_code(): import random checkcode = '' for item in range(6): current_code = random.randrange(0,6) if current_code != item: temp = chr(random.randint(65,90)) else: temp = random.randint(0,9) checkcode += str(temp) return checkcode while True: code = check_code().lower() print(code) value = input(">>>")
15. 过滤敏感词
提示用户输入内容,如果用户输入内容中包含指定内容,则将内容替换为“*”。
banned_words = ['李易峰', '蔡徐坤'] while True: words = input("Please input your words: ") if words in banned_words: new_words = words.replace(words, "***") print(new_words) else: print(words)
16. 编写表格
循环提示用户输入:用户名、密码、邮箱(要求用户输入的长度不超过20个字符,如果超过只显示前20个字符。)
如果用户输入q或Q,则不再继续。将用户输入的内容以表格形式打印。
# 代码未完成,请慎重参考
words = ""
flag = True
while flag:
user_name = input("Please input your name: ")
if user_name == "q" or user_name == "Q":
flag = False
break
password = input("Please input your password: ")
if password == "q" or password == "Q":
flag = False
break
email = input("Please input your email: ")
if email == "q" or email == "Q":
flag = False
break
template = f"{user_name}\t{password}\t{email}\n"
word = template.format(user_name,password,email)
words += word
print(words.expandtabs(20))
17.
# 99乘法表
for i in range(1,10):
string = ""
for v in range(1,i + 1):
string += f"{str(v )} * {str(i)} = {str(i * v) } \t"
print(string)
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16
1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25
1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36
1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49
1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64
1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81
18. 公鸡5文钱一只,母鸡3文钱一只,小鸡1文钱三只。用100文钱买100只鸡,必须要有公鸡、母鸡、小鸡。问公鸡、母鸡、小鸡,各多少只?
x,y,z = 0,0,0
for x in range(1,100//5):
for y in range(1,100//3):
for z in range(1,100):
if x + y + z == 100 and 5*x + 3*y + z/3 == 100:
print(x,y,z)
19. 请用下划线将列表的每一个元素拼接成字符串:li = ['abc','def','ghi','jkl']
li = ['abc','def','ghi','jkl']
lis ='_'.join(li)
print(lis,type(lis))
如果列表中含有整型,先将整型转换成字符串
li = ['abc','def','ghi',123]
li[3] = str(li[3])
lis ='_'.join(li)
print(lis,type(lis))
20. 元组操作
tu = ('abc','def','ghi')
# 计算运组的长度,并输出
print(len(tu))
# 获取元组的第二个元素,并输出
print(tu[1])
# 获取元组的第1-2个元素,并输出
print(tu[0:2])
# 请使用for输出元组的元素
for item in tu:
print(item)