博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python程序结构2
阅读量:6008 次
发布时间:2019-06-20

本文共 2743 字,大约阅读时间需要 9 分钟。


2018年6月28日笔记

上午上课前分享

高等数学求解及作图软件:mathmatica

5.循环嵌套

循环嵌套1.png-38.7kB
循环嵌套1.png-38.7kB
循环嵌套2.png-50.2kB
循环嵌套2.png-50.2kB
循环嵌套3.png-46.8kB
循环嵌套3.png-46.8kB
循环嵌套4.png-55.6kB
循环嵌套4.png-55.6kB

左上九九乘法表

if __name__ == '__main__':    for i in range(1,10):        for j in range(1,11-i):            print("%d*%d=%2d" %(i,j,i*j),end=' ')        print()

上面一段代码的运行结果如下:

左上99乘法表.png-15.1kB
左上99乘法表.png-15.1kB

左下九九乘法表

if __name__ == '__main__':    for i in range(1,10):        for j in range(1,i+1):            print("%d*%d=%d" %(i,j,i*j),end=' ')        print()

上面一段代码的运行结果如下:

左下99乘法表.png-15.1kB
左下99乘法表.png-15.1kB

右上九九乘法表

if __name__ == '__main__':    for i in range(1,10):        for j in range(1,i):            print(' '*7,end='')        for j in range(i,10):            print("%d*%d=%-2d" %(i,j,i*j),end=' ')        print()

上面一段代码的运行结果如下:

右上99乘法表.png-16.7kB
右上99乘法表.png-16.7kB

右下九九乘法表

if __name__ == '__main__':    for i in range(1,10):        for j in range(1,10-i):            print(' '*7,end='')        for j in range(10-i,10):            print("%d*%d=%-2d" %(i,j,i*j),end=' ')        print()

上面一段代码的运行结果如下:

右下九九乘法表.png-16.7kB
右下九九乘法表.png-16.7kB

6.推导式

下面两段代码的作用相同,但是推导式对数据处理更加简单、高效。

items = []for i in range(1,11):    items.append(i)
items = [i for i in range(1,11)]

用代码验证推导式的高效性

import timeif __name__ == '__main__':    startTime = time.time()    list1 = []    for i in range(1,10000000):        list1.append(i)    print(time.time()-startTime)    startTime = time.time()    list2 = [k for k in range(1,10000000)]    print(time.time()-startTime)

上面一段代码的运行结果如下,从下面的结果可以看出速度差距为2、3倍左右,当数据量更大时,可能差距更大。:

2.5785739421844482

0.9168956279754639

多个推导式示例:

if __name__ == '__main__':    a = [i**2 for i in range(1,10)]    b = [j+1 for j in range(1,10)]    c = [n for n in range(1,10) if n % 2 == 0]    d = [letter.lower() for letter in 'ABCDEFGHIJK']    print(a,b,c,d,sep='\n')

上面一段代码的运行结果如下:

[1, 4, 9, 16, 25, 36, 49, 64, 81]

[2, 3, 4, 5, 6, 7, 8, 9, 10]
[2, 4, 6, 8]
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k']

7.循环控制

示例1:如果某字母在字符串中存在,则直接跳出循环

if __name__ == '__main__':    for letter in 'Python':        if letter == 'h':            break    print(letter)

上面一段代码的运行结果如下:

h

在python中,for...else结构的作用,else后面接的执行语句在for循环正常执行完,即不是通过break跳出的情况下才会执行。代码示例如下:

if __name__ == '__main__':    for i in range(10):        if i == 5:            print("found it! i = %d"%i)            break    else:        print("No found it....")

上面一段代码的运行结果如下:

found it! i = 5

for循环练习

有四个数字:1、 2 、3、 4,能组成多少个互不相同且无重复数字的三位数?各是多少?

if __name__ == '__main__':    result = set()    for i in range(1,5):        for j in range(1,5):            for k in range(1,5):                if len(set([i,j,k])) == 3:                    result.add(i*100+j*10+k)    print(result)    print(len(result))

上面一段代码的运行结果如下:

{132, 134, 142, 143, 412, 413, 421, 423, 431, 432, 312, 314, 321, 324, 213, 214, 341, 342, 231, 234, 241, 243, 123, 124}

24

转载地址:http://zapmx.baihongyu.com/

你可能感兴趣的文章
在 Linux/UNIX 终端下使用 nload 实时监控网络流量和带宽使用
查看>>
小白学数据:一文看懂NoSQL数据库
查看>>
阿里云ApsaraDB RDS用户 - OLAP最佳实践
查看>>
菜鸟学Linux命令:Chmod命令和数字文件权限
查看>>
设置AFNetworking网络请求的超时时间
查看>>
从零开始的微信支付接入(一)用户认证
查看>>
linux何检查一个目录是否为空目录
查看>>
压缩介绍、bz2、gz、xz压缩工具
查看>>
StretchRect...果然和文档上说的一样
查看>>
Python成生随机KEY工具
查看>>
将一个数组拆分为几个至少三个元素的递增子序列
查看>>
备忘,解决WIN10下COM注册问题
查看>>
cx_Oracle install
查看>>
jquery ajax从后台获取数据
查看>>
基于Windows平台TSM 6.x版本下,如何删除初始化失败的实例。
查看>>
Start Code School Today!
查看>>
Nginx下载服务生产服务器调优
查看>>
移动互联网,入口生死战
查看>>
nginx面试常问题目
查看>>
制作ubuntu系统u盘镜像,以及安装
查看>>