python自学第四课!

replace()替换字符串

test = 'starararar'
v = test.replace('ar','bb',2)
print(v)

结果:stbbbbarar

将输入的字符串的索引打印出来

test1 = input(">>>")

for a in range(0,len(test1)) :
    print(a,test1[a])

 练习题:

1、执行python脚本的两种方式?
一种全路径解释 python 1.py 一种进入python解释器逐行解释 python
2、简述位、字节的关系
一个字节等于8位
3、简述ascii、unicode、utf-8、gbk的关系
ascii 8位中文不支持 unicode 16+位简单的字符太占用内存 utf-8结合acsii和unicode节省内存占用3个字节 gbk占用2个字节
4、请写出“李杰”分别用utf-8和gbk编码所占用的位数
6 4
5、python单行注释和多行注释分别用什么?
#       '''....'''
6、声明变量注意事项有哪些
由字母、数字、下划线组成,不能以下数字开头、不能使用关键字
7、如有一下变量 n1 = 5,请使用 int 的提供的方法,得到该变量最少可以用多少个二进制位表示?
n1 = 5
r = n1.bit_length()
print(r)
8、布尔值分别有什么?
True     False     ''假     ' '真     0假
9、阅读代码,请写出执行结果
a = "alex"
b = a.capitalize()
print(a)
print(b)
请写出输出结果:alex Alex
10、写代码,有如下变量,请按照要求实现每个功能
name = " aleX"
a. 移除 name 变量对应的值两边的空格,并输入移除后的内容
name = " aleX"
v = name.strip()
print(v)
b. 判断 name 变量对应的值是否以 "al" 开头,并输出结果
name = " aleX"
v = name.startswith('al')
print(v)
结果:false

c. 判断 name 变量对应的值是否以 "X" 结尾,并输出结果
name = " aleX"
v = name.endswith('X')
print(v)
结果:true

d. 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
name = " aleX"
v = name.replace('l','p')
print(v)
结果:apeX
e. 将 name 变量对应的值根据 “l” 分割,并输出结果。
name = " aleX"
v = name.split('l')
v1 = name.partition('l')
print(v,v1)
结果:['\ta', 'eX'] ('\ta', 'l', 'eX')
f. 请问,上一题 e 分割之后得到值是什么类型(可选)?
数组
g. 将 name 变量对应的值变大写,并输出结果
name = " aleX"
v = name.upper()
print(v)

h. 将 name 变量对应的值变小写,并输出结果
name = " aleX"
v = name.lower()
print(v)

i. 请输出 name 变量对应的值的第 2 个字符?
name = " aleX"
v = name[1]
print(v)

j. 请输出 name 变量对应的值的前 3 个字符?
name = " aleX"
v = name[0:3]
print(v)
k. 请输出 name 变量对应的值的后 2 个字符?
name = " aleX"
v = name[3:5]
print(v)
l. 请输出 name 变量对应的值中 “e” 所在索引位置?
name = " aleX"
v = name.find('e')
print(v)

m. 获取子序列,仅不包含最后一个字符。如: oldboy 则获取 oldbo; root 则获取 roo
name = " aleX"
v = name[0:-1]
print(v)

21、字符串是否可迭代对象?如可以请使用 for 循环每一个元素?

a = 'asdg'
for star in a
print(star)
22、请用代码实现:
a. 利用下划线将列表的每一个元素拼接成字符串,li = "alexericrain"
li = 'alexericrain'
v = '_'.join(li)
print(v)
a_l_e_x_e_r_i_c_r_a_i_n
b. 利用下划线将列表的每一个元素拼接成字符串,li = ['alex', 'eric', 'rain'] (可选)
li = ['alex','eric','rain']
v = '_'.join(li)
print(v)
alex_eric_rain
23、Python2 中的 range 和 Python3 中的 range 的区别?
python2 range 立即创建 python3 中循环时一个一个创建

24、实现一个整数加法计算器:
如:
content = input('请输入内容:') # 如: 5+9 或 5+ 9 或 5 + 9
cntent1 = input('请输入内容:')
cntent2 = input('请输入内容:')
v = int(cntent1)+int(cntent2)
print(cntent1,'+',cntent2,'=',v)

or
a = input('请输入:')
v1,v2 = a.split('+')
v1 = int(v1)
v2 = int(v2)
print(v1+v2)
25、计算用户输入的内容中有几个十进制小数?几个字母?
如:
content = input('请输入内容:') # 如:asduiaf878123jkjsfd-213928
c1 = 0
c2 = 0
i = input('请输入字符串:')
for item in i:
if item.isalpha():
c1 += 1
elif item.isdecimal():
c2 += 2
print(c1,c2)


26、简述 int 和 9 等数字 以及 str 和 "xxoo" 等字符串的关系?
int、str都是类 9或者‘xxoo’和对象的关系
27、制作趣味模板程序
需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实

如:敬爱可亲的 xxx,最喜欢在 xxx 地方干 xxx
a = '敬爱可亲的{0},最喜欢在{1}地方干{2}'
name = input('请输入姓名:')
address = input('请输入地点:')
instrst = input('请输入爱好:')
b = a.format(name,address,instrst)
print(b)
28、制作随机验证码,不区分大小写。
流程:
- 用户执行程序
- 给用户显示需要输入的验证码
- 用户输入的值
用户输入的值和显示的值相同时现实正确信息;否则继续生成随机验证码继续等待用户输入
生成随机验证码代码示例:
while True:
def check_code():
import random
checkcode = ''
for i in range(4):
current = random.randrange(0,4)
if current != i:
temp = chr(random.randint(65,90))
else:
temp = random.randint(0,9)
checkcode +=str(temp)
return checkcode
code = check_code()
a = code.lower()
print(a)
i = input('请输入验证码:')
if i == a:
print('验证通过')
break
else:continue
29、开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:
如 "苍老师" "东京热",则将内容替换为 ***
a = input('请输入:')
b = ['东京热','苍老师','傻逼']
if a in b:
v = a.replace(a,'***')
print(v)
30、制作表格
循环提示用户输入:用户名、密码、邮箱 (要求用户输入的长度不超过 20 个字符,如果超过则只有前 20 个字符有效)
如果用户输入 q 或 Q 表示不再继续输入,将用户输入的内容以表格形式打印

s = ''
while True:
v1= input('请输入用户名:')
if v1 == 'q' or v1 == 'Q':
print('正在退出')
break
v2 = input('请输入密码:')
v3 = input('请输入地址:')
a1 = v1[0:21]
a2 = v2[0:21]
a3 = v3[0:21]
tem = '{0}\t{1}\t{2}\n'
v = tem.format(a1,a2,a3)
s = s + v
print(s.expandtabs(20))

 

posted on 2018-06-01 11:45  star~  阅读(292)  评论(0编辑  收藏  举报

导航