Python练习10

2020-01-13 01:55:59 浏览数 (1)

无意看到老男孩的博文:合格linux运维人员必会的30道shell编程面试题及讲解

https://blog.51cto.com/oldboy/1632876

尝试着用刚开始学的python解答一些,权当练手了!

如有错误,还请批评!

# 企业面试题10:请用至少两种方法实现!

# bash for循环打印下面这句话中字母数不大于6的单词(昆仑万维面试题)。

# I am oldboy teacher welcome to oldboy training class.

代码语言:javascript复制
#第一种方法思路:
#将字符串以空格分割成列表
#遍历列表中的字符串,输出长度小于等于6的元素
strs="I am oldboy teacher welcome to oldboy training class."
strs2=strs.strip(".")           #str.strip("."),删除字符串首尾的“.”
lists=strs2.split( )            #字符串以空格分割成列表
for i in range(len(lists)):     #遍历列表
        s=lists[i]              #得到单个元素
        if len(s)<=6:           #判断元素长度
            print(s)
print('''
##################第二种方法分割线###################
''')
# 统计字符串中空格的个数
# 找到空格对应的下标n,当n<=6,则第一个空格之前的字符串就是我们想要的;
# 然后将[n 1:]切片,再次循环上述操作;
# 最后剩下的一个字符串"class",单独比较长度后选择输出
strs="I am oldboy teacher welcome to oldboy training class."
strs2=strs.strip(".")       
m=(strs2.count(" "))        # 统计字符串中空格的个数
for i in range(m):
    n=strs2.find(" ")       #找到空格对应的下标n    
    if 0<n<=6:              #当n<=6,则第一个空格之前的字符串就是我们想要的:
        print(strs2[0:n])   #即[0:n]
    strs2=strs2[n 1:]       #将[n 1:]切片,再次循环上述操作;
if len(strs2)<=6:           #最后一个字符串,判断长度
    print(strs2)

0 人点赞