python基础—字符串作业题

字符串作业题

1、最后一个单词的长度

"""
给定一个仅包含大小写字母和空格的字符串,返回其最后一个单词的长度
如果不存在最后一个单词,返回0
实例: 输入 : “hello world”
       输出 : 5
"""

string = input("请输入仅包含大小写字母和空格的字符串:") #例如 输入 ‘hello python’
if string == ' ' or not string:    #  如果输入为空或者只有空格,就是不存在最后一个单词
    print(0)
else:
    item_string = string.split(' ')        # 以 空格 将字符串分割
#print(item_string)                        #['hello', 'python']
    print (len(item_string[::-1][0]))      #先将列表反转['python', 'hello'],再统计第一个元素的长度

运行结果:
在这里插入图片描述
一开始写的时候错误使用了len(), 一直写的len.() 大概是没睡醒。。。。。

2、删除重复的字符

"""
输入:输入一个字符串s,s的长度 1 <= length <= 1000,s中的每个字符都是小写英文字母
输出:去掉重复的字母
实例:
    输入: banana
    输出: ban
"""

while True:
    s = input("请输入字符串:")
    if s == 'exit':
        exit(0)
    #判断字符串是否符合要求:1 <= length <= 1000,s中的每个字符都是小写英文字母
    if 1 <= len(s) <= 1000 and s.islower():
        #去掉重复字母
        new_s = s[0]                         # 首先将第一个字母放到new_s
        for item in s[1:]:
                if item not in new_s:
                    new_s += item            # 依次遍历剩下的s,如果找到不在new_s中的字母,就把它加到new_s中。
                                             # 某个字母已经在new_s中,就不把它放进去了,也就是相当于把它删除了
        print(new_s)
    else:
        print("输入的字符串不符合要求")

运行结果:
在这里插入图片描述
一开始的思路是两层循环
i = 1
for item in s:
for item1 in s[i:]:
if item == item1:
del item1
i += 1
print(s)

找到相同的元素就del,后来才发现,字符串是不可变的呀,怎么能执行删除呢,根本没有这个操作好吧,不管咋样,输出的s还是一开始的s呀,我可能把它和c混一起了。。。。。

3、桌面数字混合排序

"""
输入一个字符串包含数字0~9和字母a~z
要求按数字从小到大,字母从a到z排序,并且所有数字排在字母后面
"""

string = input("请输入字符串:")
s = ''
s1 = ''
if string.isalnum():         #判断是不是字母或者数字
    for item in string:
        if item.isalpha():   #判断他是不是字母
            s += item
        if item.isdigit():   #判断他是不是数字
            s1 += item       #到这里,把字母和数字分别分成了两个字符串 s 和 s1

    li_s = list(s)           #排序的话,想到sort()方法 ,但是只有列表有这个内置方法,将他转换成列表
    li_s1 = list(s1)
    li_s.sort()              #进行排序
    li_s1.sort()
    item_s = li_s + li_s1    #将两个列表合并到一起

    result = ''.join(item_s) #将列表转换成字符串,也就是拼接起来
    print(result)

else:
    print("输入字符串不符合要求")

运行结果:

在这里插入图片描述
写了好长,不知道是不是想的太复杂了。。。。。。


版权声明:本文为qq_41645466原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。