! /usr/bin/env python
* coding:UTF-8 *
"""
@author:zhh
@Software:PyCharm
@blogs:https://blog.csdn.net/smilehaoh
@time:2020/9/18
"""
"""
1.执行Python脚本的两种方式
a:直接cmd控制台,python XXX.py
b: 解释器run
"""
"""
2.简述位、字节的关系
一位等于8字节
位就是一个二进制位
一个字节等于8个二进制位
3.简述ascii、unicode、utf-8、gbk的关系
a.ascii:最早的字符编码,只支持英文和部分符号,其最多只能用 8 位来表示(一个字节),
即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号
b.unicode:俗称万国码,支持所有国家的文字符号,规定所有的字符和符号最少由 16 位来表示(2个字节),
即:2 **16 = 65536,注:此处说的的是最少2个字节,可能更多
c.UTF-8:是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符
和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存
d.gbk:是专为中文服务的编码字符,2个字节表示一个汉字
4.请写出“李杰”分别用utf-8 和gbk编码所占的位数
a.utf-8:24
b.gbk:16
5.Pyhton单行注释和多行分别用什么?
单行注释:#
多行注释:""""""
6.申明变量注意项有哪些?
a.只能是 数字、字母、下划线。
b.开头不能是数字。
c.不能是关键字。['and', 'as', 'assert', 'break', 'class', 'continue', 'def',
'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global',
'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise',
'return', 'try', 'while', 'with', 'yield']
d.建议不要使用Python内置的方法名称。
e.两个单词用下划线连接起来,变量名要有意义,要一看就看得出来这是干什么用的。
驼峰命名法:
骆驼式命名法就是当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母,例如:myFirstName、myLastName,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。 小驼峰法
变量一般用小驼峰法标识。驼峰法的意思是:除第一个单词之外,其他单词首字母大写。譬如
int myStudentCount;
变量myStudentCount第一个单词是全部小写,后面的单词首字母大写。
常用于函数名。
大驼峰法
相比小驼峰法,大驼峰法(即帕斯卡命名法)把第一个单词的首字母也大写了。常用于类名,属性,命名空间等。譬如
public class DataBaseUser;
7.如有一个变量n1 =5,请使用int的提供的方法,得到该变量最少可以用多少个二进制位表示?
n = 5
v = n.bit_length() # 获取变量 n 至少用多少位二进制表示
print(v)
输出:3
print(len(format(5,'b')))
输出:3
8.布尔值分别是什么?
True 和 False
9.阅读代码,请写出执行结果
a = "alex"
b = a.capitalize() 将字符串的第一个字母变成大写,其他字母变小写。
print(a)
print(b)
请写出输出结果:
alex
Alex
10.写代码,有如下变量,请按照要求实现每个功能
name = " aleX saddas “
a.移除name变量对应的值两边的空格,并输入移除后的内容
name = " aleX saddas "
newName=name.lstrip()
newName=name.rsplit()
print(newName)
b.判断name变量对应的值是否以 ”al“开头,并输出结果
name = " aleX"
v = name.startswith("al")
print(v)
结果:False
c.判断name变量对应的值是否以”X“结尾,并输出结果
name = " aleX"
v = name.endswith("X")
print(v)
d.将name变量对应的值中”l“替换为 ”p“,并输出结果。
name = " aleX"
v = name.replace("l","p")
print(v)
e.将name变量对应的值根据”l“分割,并输出结果
1 name = " aleX"
2 v = "|".join(name)
3 print(v)
结果: |a|l|e|X
f.请问,上一题 e 分割之后得到的值是什么类型(可选)?
str
g.将name变量对应的值变大写,并输出结果
name = " aleX"
v = name.upper()
print(v)
结果:ALEX
h.将name变量对应的值变小写,并输出结果
name = " aleX"
v = name.lower()
print(v)
4 结果: alex
i.请输出name变量对应的值的第2个字符?
name = " aleX"
name=name.lstrip()
newName = name[1]
print(newName)
j.请输出name变量对应的值的前3个字符?
name = " aleX"
name=name.lstrip()
newName = name[:3]
print(newName)
k.请输出name变量对应的值的后2个字符?
name = " aleX"
name=name.lstrip()
newName = name[2:]
print(newName)
l.请输出name变量对应的值中”e" 所在索引位置?
name = " aleX"
name=name.lstrip()
newName = name.index('e')
print(newName)
m.获取子序列,仅不包含最后一个字符,如: oldboy 则获取 oldbo; root 则获取 roo
name = "oldboy"
newName = name[:-1]
print(newName)
11.字符串是否可迭代对象?如可以,请使用 for 循环每一个元素?
name = "oldboy"
for i in name:
print(i)
12.请用代码实现:
a.利用下划线将列表的每一个元素拼接成字符串, li = “alexericrain”
li ="alexericrain"
li="".join(li)
print(li)
b.利用下划线将列表的每一个元素拼接成字符串 li = ["alex","eric","rain"]
li = ["alex","eric","rain"]
li="".join(li)
print(li)
13.Python2中的 range 和 Python3有什么区别
range的用法(用于创建连续数字,也可设置步长)
python2 和python3的区别还不一样
python2 会立即创建
python3 在会调用的时候才创建
这是对python2的一次优化
14.实现一个整数加法计算器:
如:content = input(“请输入内容:”)如:5+9 或 9-5 或 9+2
cotent1 = input("请输入内容:")
a = int(cotent1)
cotent2 = input("请输入内容:")
b = int(cotent2)
s = a + b
print(s)
15.计算用户输入的内容中有几个十进制小数?几个字母?
如:content = input(“请输入内容:”)
content = input('请输入内容:计算十进制小数个数和字母个数 ')
num = 0
zimu = 0
for n in content:
if n.isdecimal() == True:
num+=1
elif n.isalpha() == True:
zimu+=1
else:
pass
print ('数字个数 ',(num))
print ('字母个数',zimu)
- 简述int和9等数字以及str和“xxoo"等字符串的关系
int表示数据类型为整形,9为整形数字。str表示字符串类型,“xxoo”表示一个字符串
17.制作趣味模板程序
需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意实现
如:敬爱的xx,用户,最喜欢在xx地方干xxx。
name = input('请输入名字')
address=input("请输入地点")
honor=input("请输入爱好")
tm="敬爱的{0}用户,最喜欢在{1}地方干{2}。"
print(tm.format(name,address,honor))
18.制作随机验证码,不区分大小写
流程:
1.用户执行程序
2.给用户显示需要输入的验证码。
3.用户输入的值
用户输入的值和显示的值相同时显示正确,否则继续生成随机验证码继续等待用户输入
生成随机验证码代码示例:
cerifyCode=input("请输入验证码:")
code=(0,1,2,3,4,5,6,7,8,9)
a=random.choice(code)
b=random.choice(code)
c=random.choice(code)
d=random.choice(code)
code=str(a)+str(b)+str(c)+str(d)
cerifyCode=input("请输入验证码:{0}".format(code))
cerifyCode=int(cerifyCode)
print(code)
print(cerifyCode)
if cerifyCode==int(code):
print("正确")
else:
cerifyCode = input("请输入验证码:{0}".format(code))
19.开发敏感词过滤程序,提示用户输入内容,如果用户输入的内容包含特殊字符如:“苍老师”,“东京热”,则将内容替换为****
shuru = input("请输入字符串")
v = shuru.find('苍井空')
v1 = shuru.find('东京热')
if v == -1 and v1 == -1:
print (shuru)
elif v != -1 or v1 != -1:
shuru1 = shuru.replace('苍井空','*****')
shuru2 = shuru1.replace('东京热','*****')
print (shuru2)
elif v1 != -1:
shuru.replace('东京热','*****')
shuru1 = shuru.replace('东京热','*****')
print (shuru1)
else:
pass
20.制作表格
循环提示用户输入:用户名、密码、邮箱(要求用户输入的长度不超过20个字符,如果超过则只有前20个字符有效)如果用户输入q 或 Q 表示不再继续输入,将用户输入的内容以表格的形式输出
"""
import prettytable as pt
tb = pt.PrettyTable( ["City name", "Area", "Population", "Annual Rainfall"])
tb = pt.PrettyTable()
tb.field_names = ["City name", "Area", "Population", "Annual Rainfall"]
tb.add_row(["Adelaide",1295, 1158259, 600.5])
tb.add_row(["Brifasdfae",5905, 1857594, 1146.4])
tb.add_row(["Darwin", 112, 120900, 171423423423423424.7])
tb.add_row(["Hobart", 1357, 205556,619.5])
print(tb)