为了账号安全,请及时绑定邮箱和手机立即绑定

python全天课学习笔记

标签:
Python

if

奇数 1分钟:

>>> a=range(10)

>>> a

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> n=0

>>> while n<len(a):

...     if n%2==1:

...         print a[n]

...     n+=1

>>> n=0

>>> while n<len(a):

...     if n%2==1:

...         print a[n]

...     n+=1

n=0

>>> a="abcefghijk"

>>> while n<len(a):

...     if n%2==1:

...         print a[n]

...     n+=1

    int i

>>> while i <= 10:

...     if i %2 != 0:

...         print i

...     i += 1

>>>

>> a =" 1 2 3 4 5 6 7 8 9 0"

>>> a1 = a.split()

>>> a1

['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']

确定是否是fals

查找一句中有多少字母

s = “I am a boy”

>>> count=0

>>> word_list=s.split()

>>> word_list

['I', 'am', 'a', 'boy!']

>>> for i in word_list:

...     if 'a' in i:

...         count+=1

...

>>> print count

    ncount = 0

s = 'I ama aa boy'

s_list = s.split()

print s_list

for i in range(len(s)):

    print s[i]

    if s[i] == 'a':

        ncount += 1

print 'how many words :%s'%ncount

统计长度

>>> print len(word_list)

4

>>> len("abc")

3

>>> len({1:2}) 

死循环

while True:

    pass    

遍历

>>> for i in range(1,11,2):

...     print i

>>> for i in range(1,11,2):

...     print i >>> s="abcedfg"

>>> for i in range(len(s)):

...     print s[i]

质数

>>> 方法1:使用2-到它本身之间的所有数做除法,没有发生整除,则就是质数

方法2:使用2-到它本身平方根之间的所有数做除法,没有发生整除,则就是质数 

#encoding=utf-8

import math

number=int(raw_input("input a number:"))

for i in range(2,int(math.sqrt(number)+1)):

    if number %i ==0:

        print "%s is not prime number " %number

        break

else:

    print "%s is  prime number " %number

小题

a=[1,2,3,4,5,(1,2),(5,6)]

>>> for i in a:

...     if isinstance(i,(list,tuple)):

...         for j in i:

...             print j

...     else:

...         print i

for

>>> for i in range(5):

...     print i

... else:

...     print "no break happens!"

...

    >>> for i in range(5):

...     print i

...     break

... else:

...     print "no break happens!"

...

0

while

>>> n=2

>>> while n>=2:

...     n-=1

... else:

...     print "no break happens"

...

no break happens

习题

>>> for i in range(1,5):

...     for j in range(1,6):

...         print int(str(i)+str(j))

    >>> exec("print 'hello'")

hello

>>> eval("2*4")

8

Pass 和是否可迭代

from collections import Iterable

print isinstance('abc',Iterable)

True    

退出多重循环方法:

class getoutofloop(Exception): pass

try:

    for i in range(5):

        for j in range(5):

            for k in range(5):

                if i == j == k == 3:

                    raise getoutofloop()

                else:

                    print i, '----', j, '----', k

except getoutofloop:

    pass

def test():

    for i in range(5):

        for j in range(5):

            for k in range(5):

                if i == j == k == 3:

                    return

                else:

                    print i, '----', j, '----', k

test()

作业一去重:使用尽可能多的方法实现list去重

>>> set([1,1,1,2,2,3,3])

set([1, 2, 3])

>>> list(set([1,1,1,2,2,3,3]))

[1, 2, 3]

>>>

>>> d={}

>>> a=[1,1,1,2,2]

>>> for i in a:

...     d[i]=None

...

>>> print d.keys()

[1, 2]

算法:

1 声明一个新的list

2 把原list中的元素进行遍历,尝试放入到新list中

3 如果要放入的元素已经在新list中存在了,就不再次放入了,否则就放入

4 打印新list的内容

    a=[1,1,2,2,2,2,3,3]

for i in a:

    for j in range(a.count(i)-1):

        a.remove(i)

print a

七种方式去重

# #coding=utf-8

import time

time_start=time.time()

print u"列表去重的七种方法"

print u"第一种测试方法"

repeat_list=[1,2,4,1,5,1,2,5]

result=[]

for i in repeat_list:

    if i not in result:

        result.append(i)

print u"第一种去重结果: ",result

print u"第二种测试方法"

repeat_list=[1,2,4,1,5,1,2,5]

result={}

print u"第二种去重结果: ",list(result.fromkeys(repeat_list))

print u"第三种测试方法"

repeat_list=[1,2,4,1,5,1,2,5]

print u"第三种去重结果: ",list(set(repeat_list))

print u"第四种测试方法"

repeat_list=[1,2,4,1,5,1,2,5]

import itertools

def test_groupby(x):

    if x==1:

        print "lower"

    elif x>1 and x<4:

        print "middle"

    elif x>=4:

        print "higher"

repeat_list=sorted(repeat_list)

data=itertools.groupby(repeat_list,key=test_groupby)

for i,j in data:

    print list(j)

data=itertools.groupby(repeat_list)

result=[]

for i,j in data:

    result.append(i)

print u"第四种去重结果: ",result

print u"第五种测试方法"

repeat_list=[1,2,4,1,5,1,2,5]

for i in [j for j in repeat_list if repeat_list.count(i)>1]:

    for x in range(repeat_list.count(i)-1):

     repeat_list.remove(i)

print u"第五种去重结果: ",repeat_list

print u"第六种测试方法"

repeat_list=[1,2,4,1,5,1,2,5]

i=0

while i<=len(repeat_list)-1:

    if repeat_list.count(repeat_list[i])>1:

        repeat_list.pop(i)

    else:

        i+=1

print u"第六种去重结果: ",repeat_list

print u"第七种测试方法"

repeat_list=[1,2,4,1,5,1,2,5]

func=lambda x,y:x if y in x else x + [y]

print u"第七种去重结果: ",reduce(func,[[],]+repeat_list)

print "_"*20

print u"去重程序耗时%f" % (time.time()-time_start)

print "_"*20

time.sleep(3)

    Testing started at 17:38 ...

列表去重的七种方法

第一种测试方法

第一种去重结果:  [1, 2, 4, 5]

第二种测试方法

第二种去重结果:  [1, 2, 4, 5]

第三种测试方法

第三种去重结果:  [1, 2, 4, 5]

第四种测试方法

lower

lower

lower

middle

middle

higher

higher

higher

[1, 1, 1, 2, 2, 4, 5, 5]

第四种去重结果:  [1, 2, 4, 5]

第五种测试方法

第五种去重结果:  [4, 1, 2, 5]

第六种测试方法

第六种去重结果:  [4, 1, 2, 5]

第七种测试方法

第七种去重结果:  [1, 2, 4, 5]

____________________

去重程序耗时0.001000

____________________

=================

Process finished with exit code 0

Empty test suite.

3.实现数学中多项式求和公式的打印

result=[]

for i in range(6,-1,-1):

    if i == 0:

        result.append("a0")

        break

    result.append("a%sx^%s" %(i,i))

print "+".join(result

转换:

>>> "*".join(["1","2","3"]).split()

['1*2*3']

>>> "*".join(["1","2","3"]).split('*')

['1', '2', '3']

统计名字列表中,各名字的首字母在名字列表中出现的次数

第一种

name_list=['foster',"janet",'jessus','david']

count_dict={}

for i in name_list:

    count_dict[i]="".join(name_list).count(i[0])

print count_dict

第二种方法

name_list=['foster',"janet",'jessus','david']

count_dict={}

for i in name_list:

    count=0

    for j in name_list:

        if j.count(i[0])>=1:

             count+=j.count(i[0])

    count_dict[i]=count

print count_dict

输入三个数,判断是否能构成三角形

import math

a,b,c=input("please input three num a,b,c:")

d=min(a,b,c)

e=max(a,b,c)

if d<=0:

    print "error"

elif (a+b+c)>2*e:

    print U"能组成三角形"

else:

    print u"不能组成三角形"    输入三个数,判断是否能构成三角形

能构成三角形三边关系:

三边都大于零

两边之和大于第三边,两边之差小于第三边

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消