zoukankan      html  css  js  c++  java
  • Python练手例子(2)

    7、将一个列表的数据复制到另一个列表中。

    程序分析:使用列表[:]。

    #python3.7
    
    #适用于简单列表(即列表中都是基本的元素)
    a1 = [1,2]
    b1 = a1[:]
    print(b1)
    
    #不适合列表中包含列表的情况,如果要复制的列表中包含列表,只会复制那个列表的列表的引用
    a2 = [1,[2,3]]
    b2 = a2[:]
    a2[1].append(4)
    print(a2)
    print(b2)
    #此时b2复制的只是a2中[2,3]的引用 
    
    结果: 
    [1, 2] 
    [1, [2, 3, 4]] 
    [1, [2, 3, 4]]

    8、输出 9*9 乘法口诀表。

    程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

    #python3.7
    #左下三角格式输出九九乘法表
    for i in range(1,10):
        for j in range(1,i+1):
            print('%d*%d=%d' % (i,j,i*j),end=' ')
        print(' ')
    
    结果:
    1*1=1  
    2*1=2 2*2=4  
    3*1=3 3*2=6 3*3=9  
    4*1=4 4*2=8 4*3=12 4*4=16  
    5*1=5 5*2=10 5*3=15 5*4=20 5*5=25  
    6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36  
    7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49  
    8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64  
    9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81

    9、暂停一秒输出。

    程序分析:使用 time 模块的 sleep() 函数。

    import time
    
    myD = {1:'a', 2:'b'}
    for key, value in dict.items(myD):
        print(key, value)
        time.sleep(1)
    #暂停一秒后才输出

    10、暂停一秒输出,并格式化当前时间。

    #python3.7
    
    import 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())))
    
    结果:
    2019-45-01/24/19 13:45:40
    2019-45-01/24/19 13:45:41

    11、古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

    程序分析:兔子对数的规律为数列1,1,2,3,5,8,13,21....

    #python3.7
    
    f1 = 1
    f2 = 2
    for i in range(1,22):
        print('%121d %121d' % (f1, f2))
        if (i % 3) == 0:
            print('')
        f1 = f1 + f2
        f2 = f1 + f2

    12、判断101-200之间有多少个素数,并输出所有素数。

    程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

    #python3.7
    
    h = 0
    leap = 1
    from math import sqrt
    from sys import stdout
    for m in range(101, 201):
        k = int(sqrt(m + 1))
        for i in range(2, k + 1):
            if m % i == 0:
                leap = 0
                break
        if leap == 1:
            print('%-4d' % m)
            h += 1
            if h % 100 == 0:
                print('')
        leap = 1
    print('The total is %d' % h)
    
    结果:
    101 
    103 
    107 
    109 
    113 
    127 
    131 
    137 
    139 
    149 
    151 
    157 
    163 
    167 
    173 
    179 
    181 
    191 
    193 
    197 
    199 
    The total is 21

    参考资料:

    1、Python 100例:http://www.runoob.com/python/python-100-examples.html

    2、将一个列表的数据复制到另一个列表中。:https://blog.csdn.net/weixin_38889645/article/details/76718640

  • 相关阅读:
    【BZOJ4903】
    nuxt中引入svg
    vue-spa微信分享,在ios端,分享不成功的原因及解决办法
    安装包
    nuxt中刷新页面后防止store值丢失
    nuxt项目如何设置代理接口
    nuxt引入jquery和bootstrap
    如何在nuxt中引入scss
    创建nuxt项目
    微信分享
  • 原文地址:https://www.cnblogs.com/finsomway/p/10314233.html
Copyright © 2011-2022 走看看