小白学Python DAY2

1.字符串
    1.1字符串的输入输出
        输入:input()---->所有input()输入的都是字符串类型
        输出:print()
'''
字符串
'''
s1 = 'hello'
s2 = s1
s3 = 'hello'
s4 = 'hello1'
print(s1, s2, s3)
print(id(s1))  # id():获取内存地址
print(id(s2))
print(id(s3))
print(id(s4))
print(s1 is s2)  # is:比较的是内存地址,结果是bool类型
print(s1 is s4)
'''
小练习--->字母和数字的组合(下标),随机产生验证码
'''
import random
filename = ''
s = 'QHUJFUHSKHhfkhhuihja1234487685'
for i in range(4):
    index = random.randint(0, len(s) - 1)#随机产生下标
    filename += s[index]#获取下标匹配的字母
print(filename)
    1.2字符串的切片
        1.2.1 字符串索引机制: 1.0~len(s)-1
                      2.-len(s)~-1
                 例如:例如:  A  B  C  D  E  F
                      index:0   1  2  3  4  5 ----->从前往后
                            -6 -5 -4 -3 -2 -1 ----->从后往前
'''
字符串的获取
'''
# s1='https://www.bilibili.com/video/BV1R7411F7JV?p=31&spm_id_from=pageDriver&vd_source=b48454820a3fd825265eef66d6df4c82'
s1 = 'ABCDEF'
print(s1[4])  # E
print(s1[0])  # A
print(s1[-1])  # F
print(s1[-1], s1[-5])  # F B
print(len(s1))  # 6,通过len(s)可以获取字符串的长度
        1.2.2 切片:
            格式:字符串变量[start:end]---->结果:包含start,不包含end
                 字符串变量[start:end:step]---->step:1.步长,2.方向: step  正数 从右向左
'''
切片
'''
s = 'ABCDEFG'
print(s[1:4])  # BCD
print(s[:5])  # 默认从零开始  ABCDE

print(s[-3:7])  # 两套规则可以交叉使用
print(s[-3:])

x = s[:]
print(x)
print(s)
print(id(x))
print(id(s))  # 内容一样,地址也一样

# 取中间值
print(s[1:-1])

print(s[:7:2])  # ACEG
print(s[1::2])
# step:1.步长,2.方向: step  正数 从右向左
print(s[::4])  # AE
print(s[-3::-4])  # EA

print(s[0:6:-2])  # 无值
print(s[6:0:-2])  # GECA
    1.3字符串的常见操作
        获取长度:len()
        查找内容:find(),index(),rfind(),rindex()
        判断:startswith(),endswith(),isalpha(),isdigit(),isalnum,isspace(),isupper(),islower()
        计算出现次数:count()
        替换内容:replace()
        切割字符串:split(),rsplit(),splitlines(),partition(),rpartition()
        修改大小写:capitalize(),title(),upper(),lower()
        空格处理:ljust(),rjust(),center(),lstrip(),rstrip(),strip()
        字符串拼接:join()
        (1).获取长度:len()
s='https://www.bilibili.com/video/BV1R7411F7JV?p=32&spm_id_from=pageDriver&vd_source=b48454820a3fd825265eef66d6df4c82'
print(len(s))#获取字符串的长度
        (2).查找
            find():从左往右查找,遇到符合要求的返回位置,没有找到返回-1
            rfind():从右往左找,遇到符合要求的返回位置,没有找到返回-1
            index():从左往右查找。
            index()与find()区别:index()没有找到会报错,find()没有找到返回-1
'''查找--->find ,index,rfind,lfind'''
path = 'https://www.bilibili.com/video/BV1R7411F7JV?p=32&spm_id_from=pageDriver&vd_source=b48454820a3fd825265eef66d6df4c82.gif'
i = path.find('_')  # 查找'_'的位置
i1=path.find('video')#查找多个字符,返回第一个字符的位置
print(i)
print(i1)
n = path[i + 1:]  # 第一个_后面所有内容
print(n)
print('----')
n1 = path.rfind('.')  # 从右往左找
print(path[n1:])
n2 = path.index('.')
print(path[n2:])
        (3).判断:返回值都是布尔类型
            startswith():判断是否以xxx开头,是返回True,不是返回False
            endswith():判断是否以xxx结尾,是返回True,不是返回False
'''
startswith,endswith介绍

'''
s = 'fdsgrgjoigUIHVnkhgyiif.2656.gif'
result1 = s.startswith('fds')  # 判断是否以xxx开头,是返回True,不是返回False
result2 = s.endswith('gif')  # 判断是否以xxx结尾,是返回True,不是返回False
print(result1)
print(result2)
'''
startswith,endswith对应小练习
  模拟文件上传,键盘输入上传文件的名称,判断文件名是否大于6位以上,扩展名是否是:.jpg,gif,png格式
  如果不是则提示上传失败,如果名字不满足条件,而扩展名满足条件则随机生成一个6位数字组成的文件名,打印成功上传xxxx.png
'''
1.
import random

name = input('输入图片文件名称:')
# 判断扩展名
if name.endswith('gif') or name.endswith('jpg') or name.endswith('png'):
    # 判断文件名字
    n = name.rfind('.')
    file = name[:n]  # 切片
    if len(file) < 6:
        # 随机生成名字
        filename = ''
        s = 'QHUJFUHSKHhfkhhuihja1234487685'
        for i in range(5):
            index = random.randint(0, len(s) - 1)  # 随机产生下标
            filename += s[index]  # 获取下标匹配的字母
        name = filename + name[n:]
    print('成功上传%s文件' % name)
else:
    print('文件格式错误!上传失败')
            isalpha():判断全部由字母组成
            isdigit():判断全部由数字组成
            isalnum():判断全部由字母,数字组成
            isspace():判断是否是空白字符串
            isupper():判断是否为大写字母
            islower():判断是否为小写字母
'''
isalpha,isdigit,isalnum,isspace,isupper,islower
'''
s = 'HELLO'
result = s.isalpha()  # 判断是否由字母组成
result1 = s.isupper()  # 判断是否为大写字母
result2 = s.islower()  # 判断是否为小写字母
print(result1)
print(result2)
print(result)
s = '100sc'
result = s.isdigit()  # 判断全部由数字组成
result1 = s.isalnum()  # 判断全部由字母,数字组成
print(result)
print(result1)
s = ' '
print(s.isspace())  # 判断是否是空白字符串
'''
isalpha,isdigit,isalnum,isspace,isupper,islower对应小练习---->登录
用户名或者手机号码+密码登录
用户名(admin):全部小写,首字母不能是数字,长度必须是6位以上
手机号码(12345678912):纯数字  长度11
密码(123456):必须是六位数字

以上符合条件则进入下层验证:
判断用户名+密码是否正确---->成功,失败
'''

flag = True
while flag:
    name = input('用户名/手机号:')
    # 判断
    if (name.islower() and name[0].isalpha() and l
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值