#简述位与字节的关系
#8位一个字节, 计算机处理的时候是以位为单位,计算机存储的时候是以字节为单位
#“理解”,用UTF-8编码所占的位置是6,用gbk编码所占的位置是4
# 单行注释用 # ,多行注释可以是''' ''',或者""" """,建议用后者
#如果变量n1 = 5,使用int提供的方法,得到该变量最少可以用多少个二进制位表示
n1 = 5
v = n1.bit_length()
print(v)
输出:
3
#布尔值分别有什么? True False
#如下为布尔值的转换
#没有任何字符为False
a1 = ""
b1 = bool(a1)
print(b1)
#只要双引号里面有值,都是True
a2 = " "
b2 = bool(a2)
print(b2)
#只有不是0的数字,转换为bool值,都市True
a3 = 1
b3 = bool(a3)
print(b3)
# 0转换为布尔值都是False
a4 = 0
b4 = bool(a4)
print(b4)
输出:
False
True
True
False
#首字母变大写
test = "alex"
a = test.capitalize()
print(test)
print(a)
输出:
alex
Alex
name = ' aleX'
#移除name变量对应的值两边的空格,并输出移除后的内容
a1 = name.strip()
print(a1)
输出:
aleX
name = ' aleX'
# 判断name变量对应的值是否以"al"开头,并输出结果
a1 = name.startswith('al')
print(a1)
输出:
False
name = ' aleX'
# 判断name变量对应的值是否以"X"结尾,并输出结果
a1 = name.endswith('X')
print(a1)
输出:
True
name = ' aleX'
# 将name变量对应的值中的“l”替换为“p”,并输出结果
a1 = name.replace('l','p')
print(a1)
输出:
apeX
name = ' aleX'
# 将name变量对应的值根据“l”分割,并输出结果
# 分割的元素也存在,分割后是元组类型
a1 = name.rpartition('l')
print(a1)
# 分割的元素不存在,分割后是数组类型
a2 = name.split('l')
print(a2)
输出:
元组:(' a', 'l', 'eX')
数组:[' a', 'eX']
name = ' aleX'
# 将name变量对应的值变大写,并输出结果
a1 = name.upper()
print(a1)
# 将name变量对应的值变小写,并输出结果
a2 = name.lower()
print(a2)
输出:
ALEX
alex
name = ' aleX'
# 请输出name变量对应的值的第二个字符
a = name[1]
print(a)
输出:
a
# 请输出name变量对应的值的前3个字符
for i in range(3):
print(name[i])
输出:
a
l
#请输出name变量对应的值的后2个字符
b = name[len(name)-2:len(name)]
print(b)
输出:
eX
#请输出name变量对应的值中“e”所在索引的位置
name = ' aleX'
for i in range(len(name)):
if name[i] == 'e':
print(name[i],i)
break
输出:
e 3
#获取子序列,仅不包含最后一个字符,如oldboy则获取oldbo
name= ' aleX'
v = name[0:-1]
print(v)
输出:
ale
# 字符串是可迭代对象,如可以请使用for循环每一个元素
# 可以被for循环进行循环获取的就是可迭代对象
#* 如 str 是类
# s = 'asda'
#* s为对象,根据str类型创建一个对象
# 利用下划线将test中的每一个元素拼接成字符串
test = 'asdasdff'
v = '_'.join(test)
print(v)
输出:
a_s_d_a_s_d_f_f
# 利用下划线将test列表中的每个元素拼接成字符串
test = ['sad','fgd','bnyrn','eee']
v = '_'.join(test)
print(v)
输出:
sad_fgd_bnyrn_eee
# python2中的range和python3中的range的区别
#pthon2是直接创建
#python3 是在for循环的时候才一个一个创建
#从小到大 第3个值是步长
for i in range(0,100,1):
print(i)
#从大到小
for i in range(100,0,1):
print(i)
#实现一个整数加法计算器
a = int(input("请输入"))
b = int(input("请输入"))
c = a + b
print(c)
输出:
请输入5
请输入36
41
#实现一个整数加法计算器
value = input('请输入加法')
v1,v2 = value.split('+')
v3 = int(v1) + int(v2)
print(v3)
输出:
请输入加法33+6
39
#计算用户输入的内容中有几个十进制小数?几个字母?
test = input('请输入')
c1 = 0
c2 = 0
for i in test:
#判断是否是字母
v = i.isalpha()
if v == True:
c1+=1
#判断是否是数字
b = i.isdecimal()
if b==True:
c2+=1
print(c1)
print(c2)
输出:
请输入dfgs32159
4
5
#制作趣味模板
test = '敬爱可亲的{0},最喜欢在{1}做{2}'
name = input('请输入名字')
difa = input('请输入地方')
doing = input('做什么')
v = test.format(name, difa, doing)
print(v)
输出:
请输入名字小九
请输入地方家里
做什么吃饭
敬爱可亲的小九,最喜欢在家里做吃饭
#随机验证码,不区分大小写
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
while True:
code = check_code()
print('验证码为',code)
userimport = input('请输入正确的验证码')
# print(userimport)
if userimport.upper() == code.upper():
print('验证成功')
break
else:
print('验证失败')
continue
输出:
验证码为 6QLB
请输入正确的验证码asf
验证失败
验证码为 LS9G
请输入正确的验证码asdf
验证失败
验证码为 CRZ3
请输入正确的验证码crz3
验证成功
#敏感词过滤
test = input('请输入')
v1 = test.replace('苍老师','***')
v2 = v1.replace('波多野结衣','##')
print(v2)
输出:
请输入苍老师和波多野结衣,很好啊
***和##,很好啊
#制作表格
s=''
while True:
v1 = input('输入用户名')
v2 = input('输入密码')
v3 = input('输入邮箱')
temp = "{0}\t{1}\t{2}\n"
v = temp.format(v1[0:20],v2[0:20],v3[0,20])
s = s + v
v4 = input('输入Q或q')
if v4 == 'Q':
break
elif v4 == 'q':
break
else:
continue
print(s.expandtabs(20))
输出:
输入用户名tj
输入密码123
输入邮箱5434502985@qq.com
输入Q或qY
输入用户名nihao
输入密码456
输入邮箱5435029658@qq.com
输入Q或qy
输入用户名gg
输入密码iii
输入邮箱54656@qq.com
输入Q或qQ
tj 123 5434502985@qq.com
nihao 456 5435029658@qq.com
gg iii 54656@qq.com
v = temp.format(v1[0:20],v2[0:20],v3[0:20])