字符串操作2-判断-Python

关于判断的实例:

  判断:startswith,endswith,isalpha,isdigit,isalnum,isspace,返回值都是布尔类型。

  

import random

s = 'd9c8750bed0b3c7d089fa7d55720d6cf.png'
#  startswith:返回是否以字符串开头
result = s.startswith('abc')
print(result)  # False
result = s.startswith('d9')
print(result)  # True

#  endswith:返回是否以字符串结尾
result = s.endswith('png')
print(result)  # True

'''
综合实例:模拟上传图片,格式必须是.jpg和.png,文件名称长度必须大于6位,否则随机生成文件名。
'''
s = 'QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm123456789'
file = input('请输入图片全名')
# 判断扩展名
if file.endswith('jpg') or file.endswith('png'):
    i = file.rfind('.')  # 从右边查找第一个.
    name = file[:i]  # .前面的就是文件的名字
    if len(name) < 6:
        # 这是较为简单的随机数生成
        # n = random.randint(100000, 999999)
        # 较为复杂的随机数生成
        filename = ''
        for j in range(6):  # 循环6次
            index = random.randint(0, len(s) - 1)  # 随机取下标
            filename += s[index]  # 根据下标获取字符串
        file = filename + file[i:]  # 加上文件格式名
    print('成功上次%s文件' % file)
else:
    print('文件格式不正确,上传失败!')

   isalpha():是否是全是字母组成。isdigit(0:是不是全是数字组成。isalnum():是不是包含数字和字母。isspace():判断是不是有空格组成。

s = 'a123'
result = s.isalpha()
print(result)  # False
s = 'hello'
result = s.isalpha()
print(result)  # True
s = '100'
print(s.isdigit())  # True
s = 'a100'
print(s.isalnum())  # True
s = '    '
print(s.isspace())  # True
s = ' as '
print(s.isspace())  # False

   一个队用户名和密码进行输入限制的实例:

  1、用户名必须都是小写,大于6位,首字母不能是数字。

  2、手机必须是11位和数字。

  3、输入成功后要跳出循环。

flag = True
while flag:
    name = input('用户名/手机号')
    #  判断
    if (len(name) >= 6 and name.islower() and name[0].isalpha()) or (name.isdigit() and len(name) == 11):
        while True:
            password = input('输入密码:')
            #  判断
            if len(password) == 6 and password.isdigit():
                #  验证密码和用户名的准确性
                if (name == 'admin123' or name == '18711119999') and password == '123456':
                    print('用户登录成功!')
                    flag = False  # 重新输入用户名和密码
                    break  # 跳出当前循环
                else:
                    print('用户名或密码有误!')
                    break
            else:
                print('密码必须是数字和6位')
    else:
        print('用户名或手机号码格式错误!')

 


posted @ 2021-09-24 11:41  逍遥abin  阅读(255)  评论(0)    收藏  举报