昨天有些题目,做的还不是很明朗,今天的话简单的看了下答案,通过自己的思路,终于完成了题目
1、执行 Python 脚本的两种方式
Cmd 和双击 题目理解错误吧
正确答案是:
python 1.py
./ 1.py
3、简述 ascii、unicode、utf-‐8、gbk 的关系
4、请写出 “李杰” 分别用 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个字节代表一个字符
“李杰” 分别用 utf-‐8 和 gbk所占的位数 :6 和 4
7、如有一下变量 n1 = 5,请使用 int 的提供的方法,得到该变量最少可以用多少个二进制位表示?
int的方法还不熟悉 这题就直接过了 其实用pycharm,试试也能试出来
n1 = 5 t = n1.bit_length() print(t) """ 3 """
23、Python2 中的 range 和 Python3 中的 range 的区别?
Python2 中的 range 直接生成数字,Python2用 xrange 效果和Python3 中的 range 一样
Python3 中的 range 在用for循环的时候在生成数字
24、实现一个整数加法计算器:
content = input('请输入内容:') # 如: 5+9 或 5+ 9 或 5 + 9
content = input('请输入加法:') v = content.replace(" ","") v1,v2 = v.split("+") v3 = int(v1) + int(v2) print(v3)
这道题的话,有新操作,不清楚split()同时赋值2个,当时也是卡在这里
25、计算用户输入的内容中有几个十进制小数?几个字母?如:
content = input('请输入内容:') # 如:asduiaf878123jkjsfd-‐213928
说出来我都不信,这道题在今天突然灵光一闪想出了答案
c1 = 0 c2 = 0 test = input("请输入任意字符:") for v in test: if v.isnumeric() == True: c1 += 1 elif v.isalpha() == True: c2 += 1 print("数字为:"+ str(c1) +" 字符为:" +str(c2)) """ 请输入任意字符:asduiaf878123jkjsfd-‐213928 数字为:12 字符为:13 """
26、简述 int 和 9 等数字 以及 str 和 "xxoo" 等字符串的关系?
类和对象的关系
29、开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:如 "苍老师" "东京热",则将内容替换为***
有更准确的写法
test = input("输入词汇:") v = test.replace("苍老师","***") v = v.replace("东京热","***") print(v) """ 输入词汇:我爱苍老师和东京热 我爱***和*** """
30、制作表格循环提示用户输入:用户名、密码、邮箱 (要求用户输入的长度不超过 20 个字符,如果超过则只有前 20 个字符有效)
如果用户输入 q 或 Q 表示不再继续输入,将用户输入的内容以表格形式打印
看了答案,不是很全面,我又自己补充了下,都完成了题目要求,但代码可能写得不是很规范
s = "" while True: id= input("id:") passward = input("passward:") email = input("email:") i = id[0:20] p = passward[0:20] e = email[0:20] v = "{}\t{}\t{}\n" t = v.format(i,p,e) s += t a = s.expandtabs(21) flag = input("是否继续输入? (按Q/q退出,任意键继续)\n").lower() if flag == "q" : break print(a)
expandtabs(21)这里预留了21位是因为如果用户输入满20个字符后,会在空出20个空格,打印出比较难看,所以多预留了一位
多打代码多练习,同时多了解一些不是特别重点的方法。现在的话,我就相对重点的方法,format()方法用的不太熟练