习题02-04
1.执行python脚本的两种方式
python解释器+py文件路径、python进入解释器,实时输入并获取到执行结果
2.简述位、字节的关系
一个字节等于8二进制位
3.简述ascil、unicode、utf-8、bgk的关系
出现顺序:ascil、unicode、utf-8(unicode的压缩版)、bgk
4.请写出“李杰”分别用utf-8和gbk编码所占的位置
utf-8:6位 gbk:4位
5.python单行注释和多行注释分别用什么
单行注释# 多行注释用""" """
6.声明变量注意事项有哪些
用字母、数字、下划线表示 (数字不能开头、不能是关键字、最好不要和python内置的东西重复) 变量名最好有意义,方便记忆和识别
7.如有一变量n1=5,请使用int的提供的方法,得到该变量最少可以用多少个二进制表示
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
n1=5 v1=n1.bit_length() print(v1)
8.布尔值分别有什么
True、Flase (输出值为""和0为假、” “和其他为真)
9.阅读代码,请写出执行结果
a="alex"
b=a.capitalize()
print(a)
print(b)
请写出输出结果
alex、Alex
10、写代码,有如下变量,请按照要求实现每个功能
name=" aleX "
a.移除name变量对应的值两边的空格,并输入移除后的内容
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
name=" aleX " v=name.strip() print(v) aleX
b.判断name变量对应的值是否以“al”开头,并输出结果
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
name="aleX" v=name.startswith("al") print(v) True
c.判断name变量对应的值是否以“X”结尾,并输出结果
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
name="aleX" v=name.endswith("X") print(v) True
d.将name变量对应的值中的“l”,替换成“p”,并输出结果
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
name="aleX" v=name.replace("l","p") print(v) apeX
e.将name变量对应的值根据“l”分割,并输出结果
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
name="aleX" v=name.partition("l") print(v) ('a', 'l', 'eX')
f.请问上一题e分割之后得到的值是什么类型(可选)?
g.将name变量对应的值变大写,并输出结果
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
name="aleX" v=name.upper() print(v) ALEX
h.将name变量对应的值变小写,并输出结果
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
name="aleX" v=name.lower() print(v) alex
i.请输出name变量对应的值的第二个字符(l)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
name="aleX" v=name[1] print(v)
j.请输出name变量对应的值的前3个字符(ale)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
name="aleX" v=name[0:3] print(v)
k.请输出name变量对应的值的后两个字符
l.请输出name变量对应的值中的”e“所在索引位置
m.获取子序列,不仅包含最后一个字符
21.字符串是否可迭代对象(约等于只要能被for循环)?如可以请使用for循环每个元素(是)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
name="aleX" for item in name: print(item)
22.请用代码实现:
a.利用下划线将列表的每个元素拼接成字符串,li="alexericrain"
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
li="alexericrain" v="_".join(li) print(v)
b.利用下划线将列表的每个字符串拼接成字符,li=["alex","eric","rain"](可选)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
li=["alex","eric","rain"] v="_".join(li) print(v)
23.python2中的range和python3中的range的区别
python2立即创建,python3只有在for循环时才会一个个创建
24.实现一个整数加法计算器:
如:
content=input("请输入内容:") #如:5+9或5+9或5-9
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
v=input("请输入内容:") value=v v1,v2=value.split("+") v1=int(v1) v2=int(v2) v3=v1+v2 print(v3)
25.计算用户输入的内容中有几个十进制小数?几个字母?
如:
content=input("请输入内容:") #如:dashgfhs683648fdsjf-2134432
26.简述int和9等数字以及str和”sdha“等字符串的关系
int和str是类,9和”sdha“是对象
27.制作趣味模板程序
需求:等待用户输入名字、地点、爱好、根据用户的名字和爱好进行任意现实
如:经蔼可亲的xxx,最喜欢在xxx地方干xxx
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
v="和蔼可亲的{0},最喜欢在{1}干{2}" name=input("请输入姓名:") place=input("请输入地点:") hobby=input("请输入爱好:") test=v.format(name,place,hobby) print(test)
28.制作随机验证码,不区分大小写
流程:
a 用户执行程序
b 给用户显示需要输入的验证码
c 用户输入的值
用户输入的值和显示的值相同时现实正确信息,否则继续生成随机验证码继续等待用户输入
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
.... while True: code =check_code print(code) v=input() if code==v: print("欢迎用户登陆")
29.开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:
如”苍老师“”东京热“,则将内容替换为***
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
v=input("用户请输入内容:") v=v.replace("苍老师","***") v=v.replace("东京热","***") print(v)
30.制作表格
循环提示用户输入:用户名、密码、邮箱(要求用户输入的长度不超过20个字符,如果超过则只有前20个字符有效)
如果用户输入q或者Q表示不再继续输入,将用户输入的内容以表格形式打印
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
s=" " while True: v1=input("用户名:") v2=input("密码:") v3=input("邮箱:") tempalte="{0}\t{1}\t{2}\n" v=tempalte.expandtabs(10) v=tempalte.format(v1,v2,v3) s = s + v print(s)