Python程序结构

简介: 2018年6月27日笔记python流程控制1.python流程控制语句结构4种流程控制语句结构:ifif -- elseif -- elif --elseif多条件2.

2018年6月27日笔记

python流程控制

1.python流程控制语句结构

4种流程控制语句结构:
if
if -- else
if -- elif --else
if多条件

2.程序结构

3种程序结构:顺序结构、选择结构、循环结构

3.if语句示例

需求:输入学员分数,划分学员等级(90分以上A,80-89为B,60-79为C,60分以下E)

if __name__ == "__main__":
    x = int(input("请输入学员分数:"))
    if x>100 or x < 0:
        print("你输入的数超过实际范围")
    elif x >= 90:
        print('A')
    elif x >= 80:
        print('B')
    elif x >= 60:
        print('C')
    else:
        print('E')

注意:1.python中用elif代替了else if
2.每个条件后面要使用冒号:
3.使用缩进划分语句块,相同缩进数的语句在一起组成一个语句块。
4.在python中没有switch-case语句

4.if语句练习

1.输入一个年份,判断是否为闰年

if __name__ == "__main__":
    x = int(input("请输入年份:"))
    if x%400 == 0 or (x%4 == 0 and x%100 != 0):
        print("此年份是闰年")
    else:
        print("此年份不是闰年")

2.输入一个数字判断是否是水仙花数,水仙花数的定义:一个三位数的个位数的3次方加十位数的3次方加百位数的3次方等于这个数自身,例如153=13+53+3^3,153是水仙花数

if __name__ == "__main__":
    x = int(input("请输入一个三位数:"))
    num1 = x//100
    num2 = x//10%10
    num3 = x%10
    if x == num1 ** 3 + num2 ** 3 + num3 ** 3:
        print("这个数是水仙花数")
    else:
        print("这个数不是水仙花数")

3.实现用户输入用户名和密码,当用户名为 rongda且密码为123时,显示登陆成功,否则登陆失败

if __name__ == "__main__":
    userName = input("请输入用户名:")
    password = input("请输入密码:")
    if userName == 'rongda' and password == '123':
        print("登录成功")
    else:
        print("登录失败")

下午上课前分享

字符串函数的使用

import string
if __name__ == "__main__":
    print(string.digits)
    print(string.ascii_letters)
    print(string.ascii_lowercase)
    print(string.ascii_uppercase)

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

0123456789
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz

ABCDEFGHIJKLMNOPQRSTUVWXYZ

循环结构

1.python循环种类

python中有两个循环,第一种for循环,第二种while循环。他们的相同点在于都能循环做一件重复的事情,不同点在于for循环在可迭代的序列被穷尽时停止,while则是在条件不成立的时候停止。

2.while循环语句

while语句包括两部分,判断语句和执行语句。
判断条件可以是任何表达式,任何非零、或者非空的值均为true。当判断条件为假时,循环结束。
(1)打印出0-9的数字

if __name__ == "__main__":
    count = 0
    while count < 10:
        print("这个数字是:",count)
        count += 1
    print("输出成功")

(2)打印出1+2+3+...+100的和

if __name__ == "__main__":
    a = 1
    s = 0
    while a <= 100:
        s += a
        a += 1
    print(s)

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

5050

用一行代码完成求和功能

print(sum(range(1,101)))

(3)输出1-100以内的所有奇数

if __name__ == "__main__":
    a = 1
    while a <= 100:
        if a % 2 == 1:
            print(a)
        a += 1

3.for循环语句

python中,for循环可以遍历任何序列的项目,如一个列表或者一个字符串
示例:通过for循环遍历"Hello world!"

if __name__ == "__main__":
    for every_letter in "Hello_world!":
        print(every_letter,end=' ')

上面一段代码的运行结果是

H e l l o _ w o r l d !

for循环作为编程语言中最强力的特性之一,能够帮助我们做出很多重复性的事情。比如批量命名、批量操作等。

4.for循环遍历容器

1.通过for循环遍历列表

if __name__ == '__main__':
    lt = ['apple','banana','orange']
    for i in lt:
        print(i)

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

apple
banana
orange

借助range函数遍历并实现一段代码的相同功能

if __name__ == '__main__':
    lt = ['apple','banana','orange']
    for i in range(len(lt)):
        print(lt[i])

2.通过for循环遍历元组

if __name__ == '__main__':
    t = ('清华','北大青鸟','蓝翔','新东方')
    for i in t:
        print(i)

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

清华
北大青鸟
蓝翔
新东方

3.通过for循环遍历字典

if __name__ == '__main__':
    d = {'python':'perfect','java':'good','php':'just so so'}
    for k in d:
        print(k)

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

python
java
php

4.通过for循环遍历字典

下面一段代码的难点主要是items()方法的利用,它的返回值类型是list,list中的每一个元素类型是tuple。

if __name__ == '__main__':
    d = {'python':'perfect','java':'good','php':'just so so'}
    for k, v in d.items():
        print(k, v)

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

python perfect
java good
php just so so

while练习

我国现有13亿人口,设每年增加0.8%,编写程序,计算多少年后达到26亿?

if __name__ == '__main__':
    a = 13
    count = 0
    while a < 26:
        count += 1
        a *= 1 + 0.008
    print(count)

作业

1.求1-100所有数的和

if __name__ == "__main__":
    a = 1
    s = 0
    while a <= 100:
        s += a
        a += 1
    print(s)

2.输出1-100内的所有奇数

if __name__ == "__main__":
    a = 1
    while a <= 100:
        if a % 2 == 1:
            print(a)
        a += 1

3.输出1-100内的所有偶数

if __name__ == "__main__":
    a = 1
    while a <= 100:
        if a % 2 == 0:
            print(a)
        a += 1

4.打印99乘法表(如有需要可以使用制表符'\t')

if __name__ == '__main__':
    for i in range(1,10):
        for j in range(1,i+1):
            print("{}*{}={}".format(i,j,i*j),end='\t')
        print()

5.输出10行10列的*

if __name__ == '__main__':
    for i in range(10):
        for j in range(10):
            print('*',end='')
        print()

6.打印出100-1000之间所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字

if __name__ == '__main__':
    for i in range(100,1000):
        num1 = i//100
        num2 = i//10%10
        num3 = i%10
        if i == num1 ** 3 + num2 ** 3 + num3 **3:
            print(i)

7.求1-2+3-4+5-...+99

if __name__ == '__main__':
    s = 0
    for i in range(1,100):
        s += i * (-1) ** (i+1)
    print(s)

8.五位数中,对称的数称为回文数,打印10000-99999的回文数并计算个数。

if __name__ == '__main__':
    count = 0
    for i in range(10000,100000):
        if  str(i)[:-3:-1] == str(i)[:2]:
            count += 1
            print(i,end=' ')
            if count % 20 == 0:
                print()
    print("\n10000-99999之间的回文数个数为:",count)
目录
相关文章
|
2天前
|
Python
SciPy 教程 之 SciPy 图结构 7
《SciPy 教程 之 SciPy 图结构 7》介绍了 SciPy 中处理图结构的方法。图是由节点和边组成的集合,用于表示对象及其之间的关系。scipy.sparse.csgraph 模块提供了多种图处理功能,如 `breadth_first_order()` 方法可按广度优先顺序遍历图。示例代码展示了如何使用该方法从给定的邻接矩阵中获取广度优先遍历的顺序。
11 2
|
3天前
|
算法 Python
SciPy 教程 之 SciPy 图结构 5
SciPy 图结构教程,介绍图的基本概念和SciPy中处理图结构的模块scipy.sparse.csgraph。重点讲解贝尔曼-福特算法,用于求解任意两点间最短路径,支持有向图和负权边。通过示例演示如何使用bellman_ford()方法计算最短路径。
13 3
|
8天前
|
机器学习/深度学习 算法 编译器
Python程序到计算图一键转化,详解清华开源深度学习编译器MagPy
【10月更文挑战第26天】MagPy是一款由清华大学研发的开源深度学习编译器,可将Python程序一键转化为计算图,简化模型构建和优化过程。它支持多种深度学习框架,具备自动化、灵活性、优化性能好和易于扩展等特点,适用于模型构建、迁移、部署及教学研究。尽管MagPy具有诸多优势,但在算子支持、优化策略等方面仍面临挑战。
21 3
|
10天前
|
算法 测试技术 开发者
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗;代码审查通过检查源代码发现潜在问题,提高代码质量和团队协作效率。本文介绍了一些实用的技巧和工具,帮助开发者提升开发效率。
14 3
|
13天前
|
存储 人工智能 数据挖掘
Python编程入门:构建你的第一个程序
【10月更文挑战第22天】编程,这个听起来高深莫测的词汇,实际上就像搭积木一样简单有趣。本文将带你走进Python的世界,用最浅显的语言和实例,让你轻松掌握编写第一个Python程序的方法。无论你是编程新手还是希望了解Python的爱好者,这篇文章都将是你的理想起点。让我们一起开始这段奇妙的编程之旅吧!
17 3
|
3天前
|
存储 机器学习/深度学习 搜索推荐
Python编程入门:从零开始构建你的第一个程序
【10月更文挑战第32天】本文旨在通过浅显易懂的方式引导编程新手进入Python的世界。我们将一起探索Python的基础语法,并通过实例学习如何构建一个简单的程序。文章将不直接展示代码,而是鼓励读者在阅读过程中自行尝试编写,以加深理解和记忆。无论你是编程初学者还是希望巩固基础知识的开发者,这篇文章都将是你的良师益友。让我们开始吧!
|
29天前
|
IDE 开发工具 Python
Python 编程入门:打造你的第一个程序
【10月更文挑战第6天】编程,这个听起来高大上又充满神秘感的领域,其实就像学习骑自行车一样。一开始你可能会觉得难以掌握平衡,但一旦你学会了,就能自由地穿梭在广阔的道路上。本文将带你走进 Python 的世界,用最简单的方式让你体验编写代码的乐趣。不需要复杂的理论,我们将通过一个简单的例子——制作一个猜数字游戏,来实践学习。准备好了吗?让我们开始吧!
|
1月前
|
存储 JSON 安全
面向企业应用程序的 Python 配置管理
面向企业应用程序的 Python 配置管理
26 9
|
4天前
|
算法 索引 Python
SciPy 教程 之 SciPy 图结构 3
SciPy 图结构教程:介绍图的基本概念、节点和边的定义,以及如何使用 SciPy 的 `scipy.sparse.csgraph` 模块处理图结构。重点讲解 Dijkstra 最短路径算法及其在 SciPy 中的应用,包括 `dijkstra()` 方法的参数设置和使用示例。
10 0
|
4天前
|
Python
SciPy 教程 之 SciPy 图结构 2
《SciPy 教程 之 SciPy 图结构 2》介绍了图结构作为算法学中的重要框架,通过 `scipy.sparse.csgraph` 模块处理图结构。文章示例展示了如何使用 `connected_components()` 方法查找所有连接组件,通过创建稀疏矩阵并调用该方法实现。
7 0

热门文章

最新文章