2>cd/home./xxxx.py因为py脚本里面指定了python解释器的位置
2、简述位、字节的关系
答:1Byte(字节)=8bit(二进制位)
3、简述ascii、unicode、uft-8、gbk的关系
答:ascii英文编码,8个二进制位代表一个字母,总共可以有2的8次方减去1个等于255个
gbk是中文编码,是用的16个二进制代表一个汉字,有点浪费空间
uft-8也是中文编码,也是用的16个二进制代表一个汉字,但是能用8位表示就用位了
4、请写出“李杰”分别用utf-8的gbk编码所占的位数
64
5、python单行注释和多行注释分别用什么?
答:单行注释用#多行注释用""""""
答:变量="abc"变量空格=空格双引号之间的字符就是变量,在调用的时候要用吧变量用括号括起来()
变量,只能由字母、数字、下划线组成
特例:不能以数字开头
python的关键字也不能使用
7、如有以下变量n1=5,请使用int提供的方法,得到该变量最少可以用多少个二进制位表示
答:n1=5v=n1.bit_length()print(v)C:\python35\python3.exeD:/pyproject/day11数据类型的方法/str-way.py3
8、布尔值分别有什么?
答:TrueFalse
9、阅读代码,请写出执行结果
a="gouguoqi"b=a.capitalize()print(a)print(b)
结果是
gouguoqi
Gouguoqi
10、写代码,有如下变量,请按照要求实现每个功能
a.移除name变量对应值的两边的空格,并输出移除后的内容
name="gouguoQ"v=name.strip()print(v)C:\python35\python3.exeD:/pyproject/day11数据类型的方法/str-way.pygouguoQ
b.判断name变量对应的值是否以"go"开头,并输出结果
name="gouguoQ"v=name.startswith('go')print(v)C:\python35\python3.exeD:/pyproject/day11数据类型的方法/str-way.pyFalse
c.判断name变量对应的值是否以"Q"结尾,并输出结果
name="gouguoQ"v=name.endswith('Q')print(v)C:\python35\python3.exeD:/pyproject/day11数据类型的方法/str-way.pyTrue
d.将name变量对应的值中的"o",替换为"p",并输出结果
name="gouguoQ"v=name.replace('g','p')print(v)C:\python35\python3.exeD:/pyproject/day11数据类型的方法/str-way.pypoupuoQ
e.将name变量对应的值根据"o"分割,并输出结果
name="gouguoQ"v=name.split('o')print(v)C:\python35\python3.exeD:/pyproject/day11数据类型的方法/str-way.py['g','ugu','Q']
f.请问上一题分割之后得到的值是什么类型(可选)
列表
g.将name变量对应的值变大写,并输出结果
name="gouguoQ"v=name.upper()print(v)C:\python35\python3.exeD:/pyproject/day11数据类型的方法/str-way.pyGOUGUOQ
h.将name变量对应的值变成小写,并输出结果
name="gouguoQ"v=name.lower()print(v)C:\python35\python3.exeD:/pyproject/day11数据类型的方法/str-way.pygouguoq
i.请输出name变量对应的值的第二个字符?
name="gouguoQ"v=name[2]print(v)C:\python35\python3.exeD:/pyproject/day11数据类型的方法/str-way.pyo
j.请输出name变量对应的值的前三个字符
name="gouguoQ"v=name[0:3]print(v)C:\python35\python3.exeD:/pyproject/day11数据类型的方法/str-way.pygo
h.请输出name变量对应值的后2个字符
name="gouguoQ"v=name[-2:]print(v)C:\python35\python3.exeD:/pyproject/day11数据类型的方法/str-way.pyoQ
l.请输出name变量中的值"Q的索引的位置
name="gouguoQ"v=len(name)forninrange(v):if(name[n])!="Q":continueelse:print(n,name[n])C:\python35\python3.exeD:/pyproject/day11数据类型的方法/str-way.py7Q
m.获取子序列,仅不包含最后一个字符,如:woaini则获取woainroot则获取roo
name="gouguoQ"print(name[0:-1])C:\python35\python3.exeD:/pyproject/day11数据类型的方法/str-way.pygouguo
21、字符串是否可以迭代对象?如果可以请使用for循环每一个元素?
fornin"woaini":print(n)C:\python35\python3.exeD:/pyproject/day11数据类型的方法/str-way.pywoaini
只要能被for循环,这个值就是可迭代对象
#类,类型
str
各种方法
......
#对象,根据str类型创建一个对象,S1,在shell我们就叫变量
S1="gouguoqi"
22、请用代码实现
a.利用下划线将列表的每一个元素拼接成字符串li="gouguoqi"
li="gouguoqi"v="_".join(li)print(v)C:\python35\python3.exeD:/pyproject/day11数据类型的方法/str-way.pyg_o_u_g_u_o_q_i
b.利用下划线将列表的每一个元素拼接成字符串li=['gou','guo','qi']
li=['gou','guo','qi']v="_".join(li)print(v)C:\python35\python3.exeD:/pyproject/day11数据类型的方法/str-way.pygou_guo_qi
23、在python2和3中range有啥区别
在python2.7里面,range可以直接帮我们打印出来范围内的数字,这个就有缺点了,比如我打印出来1万个数字,它得先把一万个数字打印出来,这个时候我们得等着了。并且占用很多内存
在python3里面,range创建之后,并不会把这些数字打印出来,而是在什么时候调用的时候才去一个一个的打印,比如我for循环调用的时候才会挨个打印,这样就省内存了
24、实现一个整数加法计算器:
如:
content=input("请输入内容:")如:5+9或3+6或9008+2566content=input('请输入内容:格式是5+97+93+7')v=content.split('+')先把输入的2个数字以+分割成2个字符串n1=int(v[0])把第一个数字转换成int类型n2=int(v[1])把第二个数字转换成int类型n3=n1+n2print(n1,'+',n2,'=',n3)C:\python35\python3.exeD:/pyproject/day11数据类型的方法/str-way.py请输入内容:格式是5+97+93+722+3322+33=55
25.计算用户输入的内容中有几个十进制小数?几个字母?
content=input('请输入内容:')#如:adsffjjhb87902kdjhs-+9802jkl
思路是:定义2基数都是0,一个是字母的一个是数字的
把字符串挨个打印出来,打印出来一个,判断一个,如果是数字,就把数字的基数加一,如果是字母就把字母的基数加一,就不是数字也不是字母,就pass,最后打印出numzimu
content=input('请输入内容:计算十进制小数个数和字母个数')num=0zimu=0fornincontent:ifn.isdecimal()==True:num+=1#print('数字个数',(num))elifn.isalpha()==True:zimu+=1#print('字母个数',zimu)else:passprint('数字个数',(num))print('字母个数',zimu)C:\python35\python3.exeD:/pyproject/day11数据类型的方法/str-way.py请输入内容:计算十进制小数个数和字母个数56gou<< 26、简述int和9等数字以及str和"xxoo"等字符串的关系? int就是数字类型,str就是字符串类型,xxoo就是字符串 intstr都是类,类型,9xxoo这些都是根据类创建的对象 27、制作趣味模板程序 需求:等待用户输入名字、地点、爱好、根据用户的名字和爱好进行任意显示 如:敬爱可亲的xxxx,最喜欢在xxxx地方干xxxx name=input("请输入你的名字:")place=input("请输入你经常去的地方:")like=input("请输入你平时的爱好:")print('猥琐的',name,',','最喜欢在',place,'地方',like)test="猥琐的{0},最喜欢在{1}地方干{2}"name=input("请输入你的名字:")place=input("请输入你经常去的地方:")like=input("请输入你平时的爱好:")v=test.format(name,place,like)print(v)C:\python35\python3.exeD:/pyproject/day11数据类型的方法/str-way.py请输入你的名字:修电脑请输入你经常去的地方:网吧请输入你平时的爱好:撸管猥琐的修电脑,最喜欢在网吧地方干撸管 28、制作随机验证码,不区分大小写 流程: -用户执行程序 -给用户显示需要输入验证码 -用户输入的值 用户输入的值和显示的值相同时显示正确的信息:否则继续生成验证码等待用户输入 生成随机验证码代码示例: defcheck_code():importrandomcheck_code=''foriinrange(4):current=random.randrange(0,4)ifcurrent!=i:temp=chr(random.randint(65,90))else:temp=random.randint(0,9)check_code+=str(temp)returncheck_codecode=check_code()print(code) 解答: defcheck_code():importrandomcheck_code=''foriinrange(4):current=random.randrange(0,4)ifcurrent!=i:temp=chr(random.randint(65,90))else:temp=random.randint(0,9)check_code+=str(temp)returncheck_codecode=check_code()whileTrue:code=check_code()print(code)v=input('请输入验证码>>>>')v1=v.upper()ifv1==code:print('验证码正确')breakelse:passC:\python35\python3.exeD:/pyproject/day11数据类型的方法/str-way.pyTGHM请输入验证码>>>>dfghAEP5请输入验证码>>>>aep5验证码正确 29、开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符: 如"苍井空""东京热"则将内容替换为*** 思路是:创建2个变量v1v2,用find方法来判断用户输入的字符串里面是否有敏感词,有的话find的值就不是-1,只有find的值是-1的时候才是没有敏感词的 然后用if判断,如果2个值都等于-1,才证明不包含定义的2个敏感词,就正常打印,如果包含一个敏感词或者是包含2个敏感词都包含,就执行替换的操作 替换操作思路是,先替换苍井空。替换完成之后,给它赋值一个新的变量名字,再把新的变量里面的东京热再次替换下,最后打印出来最后的变量就是2者都替换过了的结果 shuru=input("请输入字符串")v=shuru.find('苍井空')v1=shuru.find('东京热')ifv==-1andv1==-1:print(shuru)elifv!=-1orv1!=-1:shuru1=shuru.replace('苍井空','*****')shuru2=shuru1.replace('东京热','*****')print(shuru2)#elifv1!=-1:#shuru.replace('东京热','*****')#shuru1=shuru.replace('东京热','*****')#print(shuru1)else:passC:\python35\python3.exeD:/pyproject/day11数据类型的方法/str-way.py请输入字符串打算发松岛枫ppp34324苍井空了。。东京热了打算发松岛枫ppp34324*****了。。*****了 用in来实现其实更简单些,代码如下 如果有敏感词的话就题把敏感词替换成*****并且赶紧退出,没有敏感词的话可以继续输入 whileTrue:name=input('请输入内容:')if"苍井空"innameor"东京热"inname:v=name.replace('苍井空','*****')v1=v.replace('东京热','*****')print(v1)exit()else:print(name)