字符串深入学习及练习题

字符串独有功能

示范name="Lotus"

name.xxxx()表示使用字符串的xxxx功能,()内可以传参

1.isdecimal()

name.decimal()用来判断字符串是否是十进制整数,得到一个布尔值

num1 = input("请输入一个数:")
num2 = input("请在输入一个数:")
if num1.isdecimal() and num2.isdecimal():
    num11 = int(num1)
    num12 = int(num2)
    print(num11 + num12)
else:
    print("请输入整数!")
​

2.startswith()

name.startswith()判断是否以某某某开头

例如

diqu = input("请输入您的地址:")
​
if diqu.startswith("山东"):
​
    print("您是山东人!")
​
else:
​
    print(f"您是{diqu}人!")
​

3.endswith()

name.endswith()判断是否以某某某结尾

和startswith相同用法

4.strip

name.strip()消除字符串两边的空格 换行符 制表符(tab键得到的空格),得到一个新的字符串

【相同的还有lstrip和rstrip 分别是消除左和右边的】

示例1

num1 = input("请输入验证码:")
​
if num1.strip() == "1234":
    print("验证正确!")
else:
    print("验证失败!")
​

示例2:

name.strip()空格中传入参数可以消除字符串两边相对应的内容

num1 = input("请输入你的名字:")
​
num11 = num1.strip("几把") #消除num1两边的几把
print(num11)
​

5.upper

name.upper()把字符串变成大写,得到一个新的字符串

同理 name.lpwer()把字符串变成小写

num1 = input("请输入验证码::")
if num1.upper() == "ABCD":
    print("验证成功!")
else:
    print("验证失败!")
​

6.replace

name.replace()替换字符串内容,把参数1换成参数2

name = "L是帅哥"
name = name.replace("帅哥", "鲨臂")
print(name)
​

列表+循环案例

name_list = ["x是帅哥", "xx是帅哥", "xxx是帅哥", "xxxx是帅哥", "xxxxx是帅哥"]
for item in name_list:
    item = item.replace("帅哥", "鲨臂")
    print(item)
​

7.split

name.split()分割字符串

name = "xxx|鲨臂|烧饼"
name_list = name.split("|")
print(name_list)  #['xxx', '鲨臂', '烧饼']

按顺序分割 (第几个第几个)

name = "xxx|鲨臂|烧饼"
name_list = name.split("|",1)
print(name_list)  #['xxx', '鲨臂|烧饼']

8..join

拼接成字符串

name_list = ["xxx", "是", "烧饼", "几毛"]
name = "".join(name_list)
print(name)

9.format

字符串格式化

name = "{0}喜欢干{1},{2},{3}等职业"
name = name.format("dxl", "护士", "嫩模", "老师")
print(name)

10.encode和decode

字符类型转换成字节类型----unicode为字符类型----utf-8和gbk为字节类型

encode 字符转换为字节

name = "莲花"
name1 = name.encode("utf-8")
name2 = name.encode("gbk")
print(name1) #b'\xe8\x8e\xb2\xe8\x8a\xb1'
print(name2) #b'\xc1\xab\xbb\xa8'

decode 字节转换为字符

name = "莲花"
name1 = name.encode("utf-8")
name2 = name.encode("gbk")
print(name1)  # b'\xe8\x8e\xb2\xe8\x8a\xb1'
print(name2)  # b'\xc1\xab\xbb\xa8'
​
s1 = name1.decode("utf-8") #莲花
s2 = name2.decode("gbk") #莲花
print(s1)
print(s2)

11.center rjust ljust

将字符串内容居中,居左,居右

name = "莲花"
name11 = name.center(10, "^")
print(name11)  # ^^^^莲花^^^^
​
name1 = name.rjust(8, "^")
print(name1)  # ^^^^^^莲花
​
name2 = name.ljust(8, "^")
print(name2)  # 莲花^^^^^^
​

12.zfill

二进制中填写0占位

name = "1011"
name = name.zfill(8)
print(name)
​

练习题

  1. 写代码实现判断用户输入的值否以 "al"开头,如果是则输出 "是的" 否则 输出 "不是的"

  2. 写代码实现判断用户输入的值否以"Nb"结尾,如果是则输出 "是的" 否则 输出 "不是的"

  3. 将 name 变量对应的值中的 所有的"l"替换为 "p",并输出结果

  4. 写代码实现对用户输入的值判断,是否为整数,如果是则转换为整型并输出,否则直接输出"请输入数字"

  5. 对用户输入的数据使用"+"切割,判断输入的值是否都是数字? 提示:用户输入的格式必须是以下+连接的格式,如 5+9 、alex+999

  6. 写代码实现一个整数加法计算器(两个数相加) 需求:提示用户输入:5+9或5+9或5+9,计算出两个值的和(提示:先分割再转换为整型,再相加)

  7. 写代码实现一个整数加法计算器(两个数相加) 需求:提示用户输入:5 +9或5+ 9或5 + 9,计算出两个值的和(提示:先分割再去除空白、再转换为整型,再相加)

  8. 补充代码实现用户认证。 需求:提示用户输入手机号、验证码,全都验证通过之后才算登录成功(验证码大小写不敏感)

     import random
     code = random.randrange(1000,9999) # 生成动态验证码
     msg = "欢迎登录PythonAV系统,您的验证码为:{},手机号为:{}".format(code,"15131266666")
     print(msg)
     # 请补充代码
  9. 补充代码实现数据拼接

     data_list = []
     while True:
         hobby = input("请输入你的爱好(Q/q退出):")
         if hobby.upper() == 'Q':
             break
         # 把输入的值添加到 data_list 中,如:data_list = ["小姨子","哥们的女朋友"]
         data_list.append(hobby) 
         # 将所有的爱好通过符号 "、"拼接起来并输出
  • 15
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值