zoukankan      html  css  js  c++  java
  • python100例

    
    
    #输入某年某月某日,判断这一天是这一年的第几天?
    #斐波那契数列[0,1,1,2,3,5,8,13...]
    li = [0,1]
    for i in range(2,15):
    # li[i] = li[i-1] + li[i-2]
    li.append(li[i-1] + li[i-2])
    print(li)

    #乘法表
    for i in range(1,10):
    # print() 下面的print也可以放在这里 还可以直接不输入空-‘’
    for j in range(1,i+1):
    print("%s*%s=%s"%(i,j,i*j),end=' ')
    print('')

    #打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
    #例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
    for i in range(100,1000):
    for j in range(1,10):
    # j*100+j*10+j=i
    for k in range(0,10):
    for l in range(0,10):
    if i == j ** 3 + k ** 3 + l ** 3 and i == j * 100 + k * 10 + l:
    # if i==j**3 + k**3 + l**3 and i==j*100+k*10+l and j!=0:
    print(i)
    for n in range(100,1000):
    i = n/100
    j = n/10%10
    k = n/10
    if n == (i ** 3 + j ** 3 + k ** 3):
    print(n)

    #14
    #将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
    m = input("请输入一个正整数:")
    n = int(m)
    print("{}=".format(n),end='')
    if n in [1]:
    print("{}".format(n),end='')
    while n not in [1]: #循环保证递归
    for k in range(2,n+1):
    if n%k==0:
    n=int(n/k)
    if n==1:
    print(k)
    else:
    print("{}*".format(k),end='')
    break #跳出循环 确保每次k从2开始循环 不然k会每次都增加1

    #暂停一秒输出,并格式化当前时间。
    import time
    # print(time.time()) #时间戳 1559124252.7110486
    # print(time.localtime(time.time())) #结构化时间
    # print(time.gmtime(time.time())) #结构化时间
    print(time.strftime('%Y-%M-%D %H:%M:%S',time.localtime(time.time())))
    # 暂停一秒
    time.sleep(1)
    print(time.strftime('%Y-%M-%D %H:%M:%S',time.localtime(time.time())))


    17输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数 s
    = input("请输入:") # print(s[1]) # print(len(s)) # alpha,digit,space,other = 0 l=alpha=digit=space=other = 0 while l < len(s): if s[l].isalpha(): alpha += 1 # l += 1 elif s[l].isdigit(): digit += 1 # l += 1 elif s[l].isspace(): space += 1 # l += 1 else: other += 1 # l += 1 l += 1 print("字母%s 数字%s 空格%s 其他%s"%(alpha,digit,space,other)) 18求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制 from functools import reduce a = int(input("输入a:")) n = int(input("输入n:")) li = [] Tn = 0 Sn = 0 for i in range(0,n): Tn = Tn + a a *= 10 li.append(Tn) Sn = reduce(lambda x,y:x+y,li) # Sn = lambda x,y:x+y,li print("Sn=",Sn) 19一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。 sum = 0 for i in range(0,1001): sum = 0 #每换一个i sum必须从0开始 li=[] for j in range(1,i): if i%j == 0: sum = sum + j li.append(j) # if sum == i: # print(i, li) #输出结果有24 [1, 2, 3, 4, 6, 8] 很明显少了12 因为j=8时已经满足sum = i,j不再增加 if sum == i: #所以得等到所有j遍历完再判断sum print(i,li) #输出结果不再有24 有0[] 哈哈哈哈xswl 改i范围 从1开始 不能改j为从0开始 除数不能为0 # break 20一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? from functools import reduce li = [100] def ball_hei(n): hei = 100 / (2**n) for i in range(1,n): # meter = 100 / (2**i) # li.append(meter*2) li.append(100/i) # print(hei,li) sum = reduce(lambda x,y:x+y,li) print("第%s次反弹高度为%s米,落地时经过%s米"%(n,hei,sum)) ball_hei(10) 22两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。 已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。 D = ['x','y','z'] for i in D: if i != 'x' and i != 'z': # C.append(i) print("c --",i) D.remove(i) # print(D) for j in D: if j != 'x': print("a --", j) D.remove(j) print("b --",D[0]) for a in ['x','y','z']: for b in ['x', 'y', 'z']: for c in ['x', 'y', 'z']: if(a!=b)and(b!=c)and(c!=a) and (a!='x') and (c!='x') and (c!='z'): print( 'a--%s,b--%s,c--%s' %(a,b,c)) 23 打印出如下图案(菱形): s = '*' n = int(input("输入层数(奇数):")) for i in range(1,n+1,2): t = (n-i)//2 print(' '*t + s*i + ' '*t) for i in reversed(range(1,n-1,2)): t = (n-i)//2 print(' '*t + s*i + ' '*t) s = '*' for i in range(1, 8, 2): print((s*i).center(7)) for i in reversed(range(1, 6, 2)): print((s*i).center(7)) 24 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。 from functools import reduce b = 2 a = 1 s = 0 li = [] for i in range(1,21): # s += b / a li.append(b / a) b,a = a+b,b print(li) print(reduce(lambda x,y:x+y,li)) # print(s) 25 利用递归方法求5! sum = 0 def Jiech(n): if n == 1: sum = 1 else: sum = n * Jiech(n-1) return sum print(Jiech(5)) 30 一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。 s = input("请输入一个5位数:") flag = 1 for i in range(len(s)): if s[i] != s[-i-1]: #要验证不满足的 如果验证满足的 有一位对称则会判定为回文 比如 12341 flag = 0 break if flag: print("是回文") else: print("不是回文")
    #输入某年某月某日,判断这一天是这一年的第几天?
    #斐波那契数列[0,1,1,2,3,5,8,13...]
    li = [0,1]
    for i in range(2,15):
        # li[i] = li[i-1] + li[i-2]
        li.append(li[i-1] + li[i-2])
    print(li)
    
    #乘法表
    for i in range(1,10):
        # print() 下面的print也可以放在这里 还可以直接不输入空-‘’
        for j in range(1,i+1):
            print("%s*%s=%s"%(i,j,i*j),end=' ')
        print('')
    
    #打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
    #例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
    for i in range(100,1000):
        for j in range(1,10):
            # j*100+j*10+j=i
            for k in range(0,10):
                for l in range(0,10):
                    if i == j ** 3 + k ** 3 + l ** 3 and i == j * 100 + k * 10 + l:
                    # if i==j**3 + k**3 + l**3 and i==j*100+k*10+l and j!=0:
                        print(i)
    for n in range(100,1000):
        i = n/100
        j = n/10%10
        k = n/10
        if n == (i ** 3 + j ** 3 + k ** 3):
            print(n)
    
    #14
    #将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
    m = input("请输入一个正整数:")
    n = int(m)
    print("{}=".format(n),end='')
    if n in [1]:
        print("{}".format(n),end='')
    while n not in [1]:  #循环保证递归
        for k in range(2,n+1):
            if n%k==0:
                n=int(n/k)
                if n==1:
                    print(k)
                else:
                    print("{}*".format(k),end='')
                break  #跳出循环  确保每次k从2开始循环 不然k会每次都增加1
    
    #暂停一秒输出,并格式化当前时间。
    import time
    # print(time.time()) #时间戳 1559124252.7110486
    # print(time.localtime(time.time())) #结构化时间
    # print(time.gmtime(time.time())) #结构化时间
    print(time.strftime('%Y-%M-%D %H:%M:%S',time.localtime(time.time())))
    # 暂停一秒
    time.sleep(1)
    print(time.strftime('%Y-%M-%D %H:%M:%S',time.localtime(time.time())))
    
    输出指定格式的日期
    # 37 对10个数进行排序
    li = []
    for i in range(5):
        # li.append(input("请输入一个数:"))  #分不清0,1,10的顺序
        li.append(int(input('输入一个数字:
    ')))
    li.sort()
    print(li)
    
    li = []
    n = 1
    while n < 5:
        li.append(int(input("请输入一个数:")))   #不加int就分不清['10', '0', '11', '2'] --> ['0', '10', '11', '2']
        n+=1
    print(li)
    for i in range(4):
        for j in range(i+1,4):
            if li[i] > li[j]:
                li[i],li[j]=li[j],li[i]
    print(li)
    
    # 38 求一个3*3矩阵主对角线元素之和
    li = []
    sum = 0
    for i in range(3):
        li.append([])
        for j in range(3):
            li[i].append(int(input("请输入第%s行第%s个数字:"%(i+1,j+1))))
            # if i == j:
            #     sum += li[i][j]
    for i in range(3):
        sum += li[i][i]
    print(li,"
    ",sum)
    
    # 41 42 43不明觉厉
    # 49 使用lambda来创建匿名函数
    MAXIMUM = lambda x, y: (x > y) * x + (x < y) * y
    MINIMUM = lambda x, y: (x > y) * y + (x < y) * x
    
    if __name__ == '__main__':
        a = 10
        b = 20
        print( 'The largar one is %d' % MAXIMUM(a, b))
        print('The lower one is %d' % MINIMUM(a, b))
    
    
    # 76 编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n
    def add(n):
        sum = 0
        # n = int(input("输入一个数:"))
        if n%2 == 0:
            for i in range(2,n+1,2):
                sum += 1/i
        else:
            for i in range(1,n+1,2):
                sum += 1/i
        return sum
    # print(add(int(input("输入一个数:"))))
    if __name__ == '__main__':
        n = int(input("输入一个数:"))
        print(add(n))
    
    # 大神666
    print(sum([1/i for i in range(int(input('Enter another integer:')), 0, -2)])
    
    # 78 找到年龄最大的人,并输出
    s = 0
    K = ''
    person = {"li":18,"wang":50,"zhang":20,"sun":22}
    for k,v in person.items():
        # print(k,v)
        # print(type(v))
        if v > s:
            s = v
            K = k
    print(s,K)
    
    person = {"li": 18, "wang": 50, "zhang": 20, "sun": 22}
    m = 'li'
    for key in person.keys():
        if person[m] < person[key]:
            m = key
    print('%s,%d' % (m, person[m]))
    
    # 83 求0—7所能组成的奇数个数。
    a1-a8可以取0-7这个八个数字,首位数字不为0。
    即一个a为4种(个位),另一个7种(首位),
    从该数为一位数到该数为8位数开始统计奇数的个数:
    1.当只有一位数时也就是该数的最后一位,奇数个数为4
    2.当该数为两位数时,奇数个数为4*7=28
    3.当该数为三位数时,奇数个数为:4*8*7=224
    8.当该数为八位数时,奇数个数为:4*8*8*8*8*8*8*7(依次为最后一位到第一位)
    sum = 32
    s = 0
    for i in range(3,9):
        s = 28*(8**(i-2))
        sum += s
        print("%s位数%s个,总共奇数%s个"%(i,s,sum))
    
    # 85 输入一个奇数,然后判断最少几个 9 除于该数的结果为整数。
    a = 9
    count = 1
    # x = 1
    n = int(input("请输入一个奇数:"))
    # while x:
    while 1:
        if a%n == 0:
            print(count)
            # x = 0
            break
        else:
            a = a*10+9
            count += 1
            # x = 1
    
    # 97 从键盘输入一些字符,逐个把它们写到磁盘文件上,直到输入一个 # 为止
    import sys,time
    n = input("输入:
    ")
    f = open('f1.txt','r+')
    for i in n:
        if i != '#':
            f.write(i)
        else:
            break
    f.write('
    ')
    for i in range(20):
        print(f.readline())
        sys.stdout.flush()
        time.sleep(1)
    f.close()
  • 相关阅读:
    mysql nulls first nulls last解决方案
    解决Incorrect integer value: '' for column 'id' at row 1的方法
    Centos 7.4忘记密码的情况下,修改root密码
    解决pom文件第一行报错(unknown)-亲测有效
    快慢指针应用总结
    gRPC 小记
    [3D跑酷] DataManager
    [3D跑酷] GameManager
    发布资源到Asset Store
    真人动作捕捉系统 for Unity
  • 原文地址:https://www.cnblogs.com/Nicloe2333/p/10963856.html
Copyright © 2011-2022 走看看