二、字符串#

字符串就是一串字符,是编程语言中表示文本的数据类型

1. 字符串定义#

Python中可以使用一对双引号或者一对单引号定义字符串

1
2
str1 = 'hello'
str2 = "hello"

2. 获取字符串中元素#

和列表一样,字符串也是通过索引获取元素

1
2
3
str = 'hello'
# 获取第三个元素
ele = str[2]

3. 遍历字符串#

可以通过for循环遍历字符串

1
2
3
str = 'hello'
for ele in str:
    print(ele)

4. 字符串的常见操作#

判断

方法 说明
isalpha() 如果 string 至少有一个字符并且所有字符都是字母则返回 True
isdecimal() 如果 string 只包含数字则返回 True
startwith(str) 检查字符串是否是以 str 开头,是则返回 True
endswith(str) 检查字符串是否是以 str 结束,是则返回 True

查找

方法 说明
find(str, start=0, end=len(string)) 检测 str 是否包含在 string 中,如果 start 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回 -1
rfind(str, start=0, end=len(string)) 类似于 find(),不过是从右边开始查找
replace(old_str, new_str, num=string.count(old)) 返回一个新字符串,把 string 中的 old_str 替换成 new_str,如果 num 指定,则替换不超过 num 次

切割

方法 说明
split(str="", num) 返回列表,以 str 为分隔符拆分 string,如果 num 有指定值,则仅分隔 num + 1 个子字符串,str 默认包含 '\r', '\t', '\n' 和空格

去空白

方法 说明
strip() 返回新字符串,截掉 string 左右两边的空白字符(可以指定截掉的字符)

5. 用户名和密码判断#

1
2
3
4
5
需求:
用户名和密码格式校验程序
要求从键盘输入用户名和密码,校验格式是否符合规则,如果不符合,打印出不符合的原因,并提示重新输入
用户名长度6-20,用户名必须以字母开头
密码长度至少6位,不能为纯数字,不能有空格

分析:

1
2
3
4
5
6
7
8
1.从键盘输入用户名(需要while循环)
2.长度6-20
3.必须字母开头

4.输入密码(while循环)
5.密码长度至少6位
6.不能为纯数字
7.不能有空格

代码:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
while True:
    # 1.从键盘输入用户名(需要while循环)
    name = input('请输入用户名:')
    # 2.长度6-20
    if not (len(name) >= 6 and len(name) <= 20):
        print('用户名必须6到20位')
        continue
    # 3.必须字母开头 ab A-Z
    # 获取第一个字母  是否是a-z A-Z a
    ele = name[0]
    if not ele.isalpha():
        print('用户名第一个必须为字母')
        continue

    # 用户名满足
    print('用户名合法')
    break

# 4.输入密码(while循环)
while True:
    pwd = input('请输入密码')
    # 5.密码长度至少6位
    if len(pwd) < 6:
        print('密码长度至少为6位')
        continue
    # 6.不能为纯数字
    if pwd.isdecimal():
        print('密码不能为纯数字')
        continue
    # 7.不能有空格
    # ' 张 三  '
    if ' ' in pwd:
        print('密码不能有空格')
        continue
    print('密码合法')
    break

isalpha:用来判断字符串中所有元素都是字母就返回True

isdecimal:字符串中都是数字返回True