Python程序结构2

简介: 2018年6月28日笔记上午上课前分享高等数学求解及作图软件:mathmatica5.循环嵌套循环嵌套1.png-38.7kB循环嵌套2.

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 time
if __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

目录
相关文章
|
12天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
|
12天前
|
存储 Python
Python编程入门:打造你的第一个程序
【10月更文挑战第39天】在数字时代的浪潮中,掌握编程技能如同掌握了一门新时代的语言。本文将引导你步入Python编程的奇妙世界,从零基础出发,一步步构建你的第一个程序。我们将探索编程的基本概念,通过简单示例理解变量、数据类型和控制结构,最终实现一个简单的猜数字游戏。这不仅是一段代码的旅程,更是逻辑思维和问题解决能力的锻炼之旅。准备好了吗?让我们开始吧!
|
12天前
|
算法 定位技术 Python
震惊!Python 图结构竟然可以这样玩?DFS&BFS 遍历技巧大公开
在 Python 编程中,图是一种重要的数据结构,而深度优先搜索(DFS)和广度优先搜索(BFS)是遍历图的两种关键算法。本文将通过定义图的数据结构、实现 DFS 和 BFS 算法,并通过具体示例展示其应用,帮助读者深入理解这两种算法。DFS 适用于寻找路径和检查图连通性,而 BFS 适用于寻找最短路径。掌握这些技巧,可以更高效地解决与图相关的复杂问题。
26 2
|
13天前
|
机器学习/深度学习 数据挖掘 开发者
Python编程入门:理解基础语法与编写第一个程序
【10月更文挑战第37天】本文旨在为初学者提供Python编程的初步了解,通过简明的语言和直观的例子,引导读者掌握Python的基础语法,并完成一个简单的程序。我们将从变量、数据类型到控制结构,逐步展开讲解,确保即使是编程新手也能轻松跟上。文章末尾附有完整代码示例,供读者参考和实践。
|
18天前
|
Python
SciPy 教程 之 SciPy 图结构 7
《SciPy 教程 之 SciPy 图结构 7》介绍了 SciPy 中处理图结构的方法。图是由节点和边组成的集合,用于表示对象及其之间的关系。scipy.sparse.csgraph 模块提供了多种图处理功能,如 `breadth_first_order()` 方法可按广度优先顺序遍历图。示例代码展示了如何使用该方法从给定的邻接矩阵中获取广度优先遍历的顺序。
27 2
|
19天前
|
算法 Python
SciPy 教程 之 SciPy 图结构 5
SciPy 图结构教程,介绍图的基本概念和SciPy中处理图结构的模块scipy.sparse.csgraph。重点讲解贝尔曼-福特算法,用于求解任意两点间最短路径,支持有向图和负权边。通过示例演示如何使用bellman_ford()方法计算最短路径。
28 3
|
24天前
|
机器学习/深度学习 算法 编译器
Python程序到计算图一键转化,详解清华开源深度学习编译器MagPy
【10月更文挑战第26天】MagPy是一款由清华大学研发的开源深度学习编译器,可将Python程序一键转化为计算图,简化模型构建和优化过程。它支持多种深度学习框架,具备自动化、灵活性、优化性能好和易于扩展等特点,适用于模型构建、迁移、部署及教学研究。尽管MagPy具有诸多优势,但在算子支持、优化策略等方面仍面临挑战。
56 3
|
26天前
|
算法 测试技术 开发者
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗;代码审查通过检查源代码发现潜在问题,提高代码质量和团队协作效率。本文介绍了一些实用的技巧和工具,帮助开发者提升开发效率。
29 3
|
29天前
|
存储 人工智能 数据挖掘
Python编程入门:构建你的第一个程序
【10月更文挑战第22天】编程,这个听起来高深莫测的词汇,实际上就像搭积木一样简单有趣。本文将带你走进Python的世界,用最浅显的语言和实例,让你轻松掌握编写第一个Python程序的方法。无论你是编程新手还是希望了解Python的爱好者,这篇文章都将是你的理想起点。让我们一起开始这段奇妙的编程之旅吧!
20 3
|
1月前
|
IDE 开发工具 Python
Python 编程入门:打造你的第一个程序
【10月更文挑战第6天】编程,这个听起来高大上又充满神秘感的领域,其实就像学习骑自行车一样。一开始你可能会觉得难以掌握平衡,但一旦你学会了,就能自由地穿梭在广阔的道路上。本文将带你走进 Python 的世界,用最简单的方式让你体验编写代码的乐趣。不需要复杂的理论,我们将通过一个简单的例子——制作一个猜数字游戏,来实践学习。准备好了吗?让我们开始吧!
下一篇
无影云桌面