无意看到老男孩的博文:合格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)