Python教程

Python学习第四天

本文主要是介绍Python学习第四天,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

一、序列及序列运算符。

二、原始字符串

三、字符串查找操作

四、字符串计数操作

五、字符串判断操作

六、字符串替换操作

七、字符串切割操作

八、字符串大小写操作

九、空格处理

十、字符串格式化

十一、代码练习


一、序列及序列运算符。

        1、序列定义

        序列是Python中一大类数据容器的统称,容器中每个数据都会分配一个唯一序号,即索引(下标),可以简单将其类比成C语言中的数组。Python包含6中内建序列:列表、元组、字符串、Unicode字符串、buffer对象、xrange对象。

        2、序列运算符

操作描述
x+y连接序列x与y,生成一个新序列
x*n将序列x重复n次,生成一个新序列
x[i]引用x序列中下标为i的成员
x[start:end:step]步长为step的引用下标为start至end-1的子序列
len(x)统计序列x成员个数,即得到序列x的长度
max(x)序列x中的最大值
min(x)序列x中的最小值
v in x判断v是否在序列x中,结果返回布尔值

二、原始字符串

        在一个字符串前加r,表示该字符串内的\不是转义字符前缀,而是需要直接编入字符串中。

a='hello\nword'  #hello
                 #word
b=r'hello\nword'  #hello\nword

三、字符串查找操作

格式:字符串变量.find(查找内容,start,end)

        其中,start和end可以不指定,end不包括在内。查找成功返回成员索引值,查找失败返回-1.

rfind()是从右往左查找,index()和find()功能一致,但是查找失败直接报错。

四、字符串计数操作

格式:字符串变量.count(计数内容,start,end)

        返回计数内容出现的次数,没有则返回0。

五、字符串判断操作

        字符串变量.startswith(‘*’),判断字符串是不是以*开头的。

        字符串变量.endswith(‘*’),判断字符串是不是以*结尾的。(可以用来判断上传的文件是什么类型)

        字符串变量.isalpha(),判断一个字符串是不是全是字母,是返回True,否则返回False。

        字符串变量.isdigit(),判断一个字符串是不是全是数字,是返回True,否则返回False。

        字符串变量.isalnum(),判断一个字符串是不是全是数字和字母,是返回True,否则返回False。

        字符串变量.isspace(),判断一个字符串是不是空白字符串,是返回True,否则返回False。

六、字符串替换操作

格式:字符串变量.replace(old,new,count) #count表示替换次数,默认为无穷

        将old字符替换成new字符,可用于屏蔽敏感词汇。

七、字符串切割操作

格式:字符串变量.split('*')  # 按*来切割,切割完之后存放在一个列表里面

八、字符串大小写操作

        字符串名.title(),将字符串首字母大写。

        字符串名.lower(),将字符串变小写。

        字符串名.upper(),将字符串变大写。

九、空格处理

        对于字符串的空格处理是十分有必要的。因为在用户输入时,有可能在输入字符串之后,不小心按到了空格,在视觉上是看不到这些空格的,但字符串里面又包含进了这些空格,所以可能会对我们后续的操作产生一些影响。因此,我们在接收用户输入的字符串时,应该首先对其进行空格处理。

        字符串名.strip(),删除前后空格。

        字符串名.lstrip(),删除左空格。

        字符串名.rstrip(),删除右空格。

十、字符串格式化

        1、占位符格式化,%d,%f,%s等。

        2、format()函数,和占位符类似。用{}占位,字符串后跟.format(),参数为占位处需要填入的内容。

        注意:{}数量可以少于format()中参数的数量,从左到右依次填入。反之则会报错。

name = 'xuan'
age = 18
print('{}同学今年{}岁'.format(name, age))

        此外,format()函数可以在{}中指定序号表示哪个值能够被填入,并且可以重复填入。

name = 'xuan'
age = 18
print('{0}同学今年{1}岁,我今年也{1}岁。'.format(name, age))  #默认从0开始序号

十一、代码练习

1、模拟文件上传,键盘输入文件名。如果文件后缀名不为.jpg、.png、.gif则提示上传失败,如果后缀名满足要求,但文件名少于6个字符,则随机生成一个六位数字作为文件名,然后打印“**文件上传成功”。

import random

while True:
    get_file = input('请上传文件(仅支持后缀名为.jpg、.png、.gif的文件):\n')
    if get_file.endswith('.jpg') or get_file.endswith('.png') or get_file.endswith('.gif'):  #接受这三种格式的文件
        houzhui = get_file[-4:]  #提取后缀名,方便后续随机生成六位数文件名
        wenjian = get_file[:-4]  #提取文件名,用于判断文件名是否有六个字符
        if len(wenjian) < 6:  #文件名不足六个字符,则随机生成一个六位数字
            newname = str(random.randint(100000, 999999))
            newname = newname + houzhui
            print('%s文件上传成功!' % newname)
            break
        else:
            print('%s文件上传成功!' % get_file)
            break
    else:  #格式不满足提示重新上传,此时继续循环
        print('文件不符合上传类型!请重新上传!')

2、产生一个六位随机验证码,随机生成大写字母、小写字母和数字。区分大小写,错误三次则提示账号锁定。

区分大小写版本:

import random

count = 0  #记录错误的次数
while True:
    if count==3:  #判断是否已经错误三次
        print('验证码错误三次,账号已锁定!')
        break
    random_str = ''  #定义一个空字符串用于存放随机验证码
    s = 'QWERTYUIOPASDFGHJKLZXCVBNMzxcvbnmasdfghjklqwertyuiop1234567890'  #用于产生随机验证码的序列
    for i in range(6):  #6位验证码
        index = random.randint(0, len(s) - 1)
        random_str += s[index]
    print(random_str)
    get_str = input('请输入验证码:')
    if get_str == random_str:
        print('验证码正确')
        break
    else:
        print('验证码错误')
        count += 1  #错误次数加1

不区分大小写版本,就是在上面的版本代码里,比较验证码与输入是否一致之前,将验证码与输入全部转化成小写再比较。

import random

count = 0  # 记录错误的次数
while True:
    if count == 3:  # 判断是否已经错误三次
        print('验证码错误三次,账号已锁定!')
        break
    random_str = ''  # 定义一个空字符串用于存放随机验证码
    s = 'QWERTYUIOPASDFGHJKLZXCVBNMzxcvbnmasdfghjklqwertyuiop1234567890'  # 用于产生随机验证码的序列
    for i in range(6):  # 6位验证码
        index = random.randint(0, len(s) - 1)
        random_str += s[index]
    print(random_str)
    get_str = input('请输入验证码:')
    random_str = random_str.lower()  #将验证码与输入全部转化为小写
    get_str = get_str.lower()
    if get_str == random_str:
        print('验证码正确')
        break
    else:
        print('验证码错误')
        count += 1  # 错误次数加1

这篇关于Python学习第四天的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!