Python基础教程(五):字符串的小练习试题

一、下标索引练习

# 1、给你一个字符串s,请你返回s中长度为3的好子字符串的数量
# 注意:如果相同的好子字符串出现多次,每一次都应该被记录答案之中,
# 好子字符串是一个字符串中连续的字符序列,且各不相同

s = input("请输入一个单词:")
count = 0
for i in range(len(s)-2):
    if s[i] != s[i+1] and s[i] != s[i+2] and s[i+1] != s[i+2]:
        print(s[i]+s[i+1]+s[i+2])
        count += 1
print(count)


二、切片练习

# # 1、从键盘输入一个字符串,判断这个字符串是不是回文字符串【使用切片】
# # 回文字符串:就是正着读和倒着读一样的字符串。

s = input("输入一个字符串:")
if s[::] == s[::-1]:
    print(f"{s}是一个回文字符串")
else:
    print(f"{s}不是一个回文字符串")


# 2、从键盘输入一个字符串,判断这个字符串是不是回文字符串【使用下标】
# 回文字符串:满足对称性
#           第一个字符和倒数第一个字符相等,
#           第二个和倒数第二个字符相等。。。

s = input("输入一个字符串:")

for i in range(len(s)//2):
    if s[i] != s[-(i+1)]:
        print(f"{s}不是一个回文字符串")
        break
else:
    print(f"{s}是一个回文字符串")


三、字符串相关函数练习

        3.1: 转换函数

# 1、从键盘输入一个字符串,遍历该字符串;
# 将其中的小写字母变大写字母,大写字母变小写字母。

s = input("输入一个字符串:") # Hello
x = ''
for i in s:
    if 'A' <= i <= "Z":
        x += i.lower()
    elif 'a' <= i <= 'z':
        x += i.upper()
print(x)

        3.2: 判断函数

# 从键盘输入一串字符串,先将所有大写转换成小写;
# 再移除其中的非数字、字母字符之后,判断是不是回文字符串

s = input("输入一个字符串:")
lower_s = s.lower()
num_str = ''

for i in lower_s:
    if i.isalnum():
        num_str += i
if num_str[::] == num_str[::-1]:
    print(f"{num_str}是回文字符串!")
else:
    print(f"{num_str}不是回文字符串!")


        3.3: 分割函数

# 1. 从请求地址中提取出用户名和域名
# str = http://www.163.com?userName=admin&pwd=123456

web = "http://www.163.com?userName=admin&pwd=123456"

ll = web.split('?')
web_link = ll[0]
print(f"网址是:{web_link}")

user_name = ll[1].split('&')[0].split('=')[1]
pwd = ll[1].split('&')[1].split('=')[1]
print(f"用户名:{user_name}, 密码:{pwd}")


        3.4: 其它函数

# 练习题1:
mstr = "good good study , day day up;"
nstr = "  No Pain No Gain.  "
# 将mstr和nstr合并,并输出。
print(mstr + nstr)

# 求mstr的长度并输出
print(len(mstr))

# 遍历字符串nstr
for i in nstr:
    print(f"{i}", end=' ')

# 统计nstr中字母'o'的个数
print(nstr.count('o'))

# 去除nstr两端的空格
print(nstr.strip())

# mstr所有的字符换成大写并输出。
print(mstr.upper())

# mstr所有的字符换成小写并输出。
print(mstr.lower())

# 以空格为分割符将mstr分割并输出。
print(mstr.split(' '))




# 练习题2:
# 输入两个字符串,从第一个字符串中删除第二个字符串中所有字符。
# 例如:输入"abcde"和"be"
# 字符串变为"acd"
# 提示: ①使用in关键字判断元素存在
#       ②使用replace内置方法进行元素替换 

s1 = input("第一个字符串:")   # abcdefg
s2 = input("第二个字符串:")   # bef

for i in s1:
    if i in s2:
        s1 = s1.replace(i, '')

print(s1)



# 练习题3:
# 输入一个字符串,将这个字符串按照单词反序。
# 例如:输入this is a book,输出 book a is this。

s = input("输入一个字符串:")
ls = s.split()[::-1]
ss = ' '.join(ls)
print(ss)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值