练习1

#简述位与字节的关系
#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])
posted @ 2019-01-15 23:00  必秋秋  阅读(169)  评论(0)    收藏  举报