实现的简单python例子

发布时间:2019-07-30 10:29:21编辑:auto阅读(1421)

    尊重作者,本文转载自:http://blog.csdn.net/oMuYeJingFeng1/article/details/23822279


    1、输入3个数字,从小到大输出:

    x = int(input('please input x:'))
    y = int(input('please input y:'))
    z = int(input('please input z:'))
    if x > y :
        x, y = y, x
    if x > z :
        x, z = z, x
    if y > z :
        y, z = z, y
    print(x,y,z)

    2、求101-200的素数

    from math import sqrt
    def isprime(n):
        k = int(sqrt(n))
        for i in range(2,k+1):
            if n % i == 0:
                return 0
        return 1
        
    if __name__ == '__main__':
        for n in range(101, 201):
            if isprime(n) ==1:
                print(n, end = ' ')

      版本二:

    <pre name="code" class="python">n = int(input('please input n:'))
    for i in range(2,n+1):
        j = i
        for j in range(2,n):
            if i % j ==0:
                break
        if  j == i :
            print(i,end=' ')

    3、水仙花

    for i in range(100,1000):
        a = i%10
        b = i%100//10
        c = i//100
        if a**3+b**3+c**3 == i:
            print(i, end=' ')

    4、分解质因子

    n=int(input('please input n:'))
    result=[]
    i=2
    str1=str(n)+'='
    while n>1:
       if n%i==0:
           n/=i
           result.append(str(i))
           i -= 1
       i +=1
    str1+='*'.join(result)
    print(str1)

    函数版:

    def f(n):
        result=[]
        i=2
        str1=str(n)+'='
        while n>1:
           if n%i==0:
               n/=i
               result.append(str(i))
               i -= 1
           i +=1
        str1+='*'.join(result)
        return str1
    
    if __name__ == '__main__':
        for i in range(80,100):
            print(f(i))

    5、统计字符串字符格式,空格字符个数,数字字符个数,其他字符个数

    import string
    s=input('please input string:')
    letters = 0
    space = 0
    digit = 0
    others =0
    for ch in s:
        if ch.isalpha():
            letters += 1
        elif ch.isspace():
            space += 1
        elif ch.isdigit():
            digit += 1
        else:
            others += 1
    print(letters, space , digit, others)

    6、lambda实现两个数求最值

    MAX = lambda x, y:(x>y)*x + (y>x)*y
    MIN = lambda x, y:(x<y)*x + (y<x)*y
    if __name__ == '__main__':
        print('max={0} , min={1}'.format(MAX(10,2), MIN(10,2)))

    7、输入一个整数,如果为奇数那么sum=1+1/3+.....+1/n

    如果为偶数那么 sum=1/2+1/4+....+1/n

    def f(n):
        sum=0.0
        if n%2 == 1:
            for i in range(1, n+1, 2):
                sum += 1/i
        else:
            for i in range(2, n+1, 2):
                sum += 1/i
        return sum
    if __name__ == '__main__':
        n=int(input('please input n:'))
        print(f(n))

    8、查找一个age最高的name

    if __name__ == '__main__':
        person = {'shao':23, 'wang':20, 'zhang':21, 'he':22}
        flag = 1
        maxk=''
        for (k, v) in person.items():
            if flag == 1:
                maxk = k
                flag = 0
            else:
                if person[maxk] < v:
                    maxk = k
        print(maxk, person[maxk])

    9、向文件里面输入一串字符

    if __name__ == '__main__':
        string = input('please input string:')
        with open('f:/test.txt', 'a') as file:
            file.write(string)
        file.close()

    10、python 对文件操作,两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排序)

    import string
    if __name__ == '__main__':
        with open('f:/A.txt', 'r') as file_A:
            stringA=file_A.read()
        with open('f:/B.txt', 'r') as file_B:
            stringB=file_B.read()
        stringA+=stringB
        stringA=list(stringA)
        stringA.sort()
        stringA=''.join(stringA)
        with open('f:/C.txt', 'a') as file_C:
            file_C.write(stringA)
        file_A.close()
        file_B.close()
        file_C.close()

    11、python与json的转换

    class Person(object):
        def __init__ (self, name, age):
            self.name = name
            self.age = age
        def __repr__(self):
            return 'Person Object name:{0}, age{1}'.format(self.name, self.age)
    if __name__ == '__main__':
        p=Person('peter', 22)
        print(p)

    12、正则表达式

    好的博文:http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html

    计算字符串中float数据之和

    import re
    teststring = '123.33sdhf3424.34fdg323.324'
    pattern = re.compile(r'\d+.\d*')
    s=pattern.findall(teststring)
    print(s)
    print(sum([float(var) for var in s]))
    正则表达式匹配问题
    >>> s = '<html><head><title>Title</title>'
    >>> pattern = re.compile('<.*?>')
    >>> pattern.findall(s)
    ['<html>', '<head>', '<title>', '</title>']
    >>> re.match('<.*?>',s).span()
    (0, 6)

    搞清楚贪心匹配与非贪心匹配之间的关系

    正则表达式,子串代替问题
    import re
    p = re.compile('(blue|white|red)')
    print(p.sub('colout', 'blue socket and red shoes'))
    print(p.sub('colout', 'blue socket and red shoes', count=1))
    
    >>> 
    colout socket and colout shoes
    colout socket and red shoes

    13、删除一个list重复的元素

    List=list('sdfhskhdsssssdhkhk')
    List.sort()
    print(List)
    for index in range(len(List)-1, 0, -1):
       if  List[index] == List[index-1]:
           del(List[index])
    print(List)

    最简单的

    str = 'sdfhskdfsjdfljsdf'
    list(set(str))

    14、删除重复的list

    z=[ [1,2] , [3,4] , [1,2] , [5,6] , [7,8] , [9,0] , [3,4] , [1,2] , [7,8] ]
    z =[ repr(x) for x in z]
    z = set(z)
    z = [ eval(x) for x in z]
    print(z)


关键字