Python练习10

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

http://oldboy.blog.51cto.com/2561410/1632876

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

如有错误,还请批评!

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

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

# I am oldboy teacher welcome to oldboy training class.

#第一种方法思路:
#将字符串以空格分割成列表
#遍历列表中的字符串,输出长度小于等于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)

时间: 2024-08-10 19:04:55

Python练习10的相关文章

快速入门:十分钟学会PythonTutorial - Learn Python in 10 minutes

This tutorial is available as a short ebook. The e-book features extra content from follow-up posts on various Python best practices, all in a convenient, self-contained format. All future updates are free for people who purchase it. Preliminary fluf

python 求10亿以内和987654互质正整数的和

加群看见的 但是计算好慢,谁有更优的算法,麻烦说一下. ? 1 2 3 4 5 6 7 8 9 10 factor=[] for x in xrange(1, 987654//2+1):     if 987654%x==0:         factor.append(x) sum=0 for y in xrange(1, 1000000000):     for z in factor:         if y%z == 0:             sum+=y print sum 51

Python Chapter 10: 列表 Part3

10.10 查找列表 )线性查找 线性查找顺序地将关键字key与列表中的每一个元素进行比较,直到找到某个匹配元素时返回其下标,亦或在找不到时返回-1.代码如下: # The function for finding a key in a list def linearSearch(lst, key): for i in range(len(lst)): if lst[i] == key: return i return -1 若关键字存在,线性查找在找到关键字前平均需要查找一半的元素,其运行时间

Python教程10

Python教程10 1.模块 说明:前4个文件代码块分别是 error.jun_03_module1 # -*-coding:utf-8-*- # 定义全局变量 title = "模块1" # 函数 def say_hello(): print("我shi %s" % title) # 类 class Dog(object): pass error.jun_03_module2 # 全局变量 title = "模块2" # 函数 def say

python基础10

python基础10 昨日回顾: def 函数名(): 函数体 return 返回值 所有的函数  只定义不调用就一定不执行 先定义后调用 函数名()  #不接收返回值 返回值 = 函数名()  #接收返回值 #返回值 #没有返回值:默认返回None #不写return :函数内的代码执行完毕自动结束 #只写return :结束一个函数 #return None #返回一个值:结束了函数且返回一个值,可以是任意的值 #返回多个值:多个值之间用逗号隔开,接收的时候可以用一个变量接受(元祖),也可以

python学习10—迭代器

python学习10—迭代器 1. 迭代器协议 对象必须提供一个next方法,执行该方法或者返回迭代中的下一项,或者返回一个StopIteration异常,以终止迭代(只能往后走不能往前退) 2. 可迭代对象 实现了迭代器协议的对象,对象内部定义一个__iter__()方法 3. for循环实现机制 字符串.列表,元组,字典,集合,文件等都不具有next方法,所以他们都不是可迭代对象(iterable object),但是为什么for循环可以进行呢? 原因:for循环首先调用了他们的内置方法__

python基础10(函数二)

一.函数形参和实参的区别 形参全称是形式参数,在用def关键字定义函数时函数名后面括号里的变量称作为形式参数. 实参全称为实际参数,在调用函数时提供的值或者变量称作为实际参数. >>> def add(a,b): #这里的a和b是形参 return a+b >>> add(1,2) # 这里的1和2是实参 3 >>> x=2 # 这里的x和y是实参 >>> y=3 >>> add(x,y) 5 二.参数的传递和改变

如何用Python在10分钟内建立一个预测模型

转载自:https://baijia.baidu.com/s?old_id=307995 最近,我从孙子(指<孙子兵法>--译者注)那里学到了一些策略:速度和准备 "兵之情主速,乘人之不及,由不虞之道,攻其所不戒也."(<孙子兵法?九地篇>)无备为战之大患,有备无患,其乃至德也.(哈哈,译者自己写了这句,想必大家能明白.) 这与数据科学博客有什么关系呢?这是你赢得竞争和编程马拉松的关键.如果你比竞争对手准备得更充分,你学习.迭代执行的速度越快,那么你就取得更好的

python笔记10

rabbitmq消息队列 server端 1 #!/usr/bin/env python 2 import pika 3 4 connection = pika.BlockingConnection(pika.ConnectionParameters( 5 'localhost')) 6 channel = connection.channel() 7 8 #声明queue 9 channel.queue_declare(queue='hello') 10 11 #n RabbitMQ a me