热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python学习系列之数据结构(七)

一、程序的组织结构1996年,计算机科学家证明了这样的事实:任何简单或复杂的算法都可以有顺序结构、选择结构和循环结构这三种基本结构组合而成 二、程序的顺序结构顺序结构:程序从上到下

一、程序的组织结构
1996年,计算机科学家证明了这样的事实:任何简单或复杂的算法都可以有顺序结构、选择结构和循环结构这三种基本结构组合而成

 

二、程序的顺序结构

顺序结构:程序从上到下顺序的执行代码,中间没有任何的判断和跳转,直到程序执行完成

举例:

#数据结构
#顺序结构
print('-------程序开始----------')
print('1.把冰箱门打开')
print('2.把大象放进去')
print('3.把冰箱门关上')
print('-------程序结束-----------')

  执行结果如下:

Python学习系列之数据结构(七)

 解析:在程序执行的过程中,所有语句都是从上而下依次执行,中间没有任何的判断和跳转

 

二、分支结构

1.对象的bool值

在Python中,以下对象的布尔值为False

  • False
  • 数值()
  • None
  • 空字符串
  • 空列表
  • 空元组
  • 空字典
  • 空集合

除此之外,其它所有对象的bool值皆为True

举例:

#Python中以下对象的bool值为False
print(bool(False))      #False
print(bool(0))      #False
print(bool(0.0))       #False
print(bool(None))   #False
print(bool(''))     #False
print(bool(""))     #False
print(bool([]))     #False
print(bool(list()))     #空元组
print(bool(tuple()))    #空元组

  执行结果如下:

Python学习系列之数据结构(七)

 除此以外其它所有对象的值皆为True,举例:

print(bool(10))
print(bool(True))
print(bool([2]))
print(bool('aa'))
print(bool("helloworld"))

  执行结果如下:

Python学习系列之数据结构(七)

 

2.分支结构

2.1 单分支结构

单分支结构就是只有一个判断,翻译成中文意思就是:如果.....就......

举例:

#选择结构-但分支结构
mOney=1000
s=int(input('请输入取款金额'))
if money>=s:
    mOney=money-s  #减去取款金额后再赋值给money
    print('余额为:',money)

  执行结果为:

Python学习系列之数据结构(七)

 

2.2 双分支结构

双分支结构是if...else...结构,就是二选一执行

举例1:

#选择结构-双分支结构
mOney=1000
s=int(input('请输入取款金额'))
if money>=s:
    mOney=money-s
    print('余额为:',money)
else:
    print("余额不足")

  执行结果如下:

Python学习系列之数据结构(七)

 解析,此处有判断两种情形,先判断if的条件,如果不满足,则执行else里的语句,

练习:

从键盘录入一个数,判断是奇数还是偶数
#从键盘录入一个数,判断是奇数还是偶数
num=int(input('请输入一个整数:'))
if num%2==0:
    print(num,'是偶数')
else:
    print(num,'是奇数')

  执行结果如下:

Python学习系列之数据结构(七)Python学习系列之数据结构(七)

 

2.3 多分支结构

 多分支结构为:

if 条件表达式1:

  条件执行体1

  elif 表达式2:

    条件执行体2

  elif 表达式3:

    条件执行体3

else:

  条件执行体N

 

举例:

   将考试分数进行分级,90-100分为A级,80-89为B级,70-79为C级,60-69为D级,0-59为E级,小于0大于100的不在评级范围之内。

#分支结构-多分支
s=int(input('请输入一个分数:'))
if s>=90 and s<=100:
    print('A')
elif s>=80 and s<=89:
    print('B')
elif s >= 70 and s <= 79:
    print('C')
elif s >= 60 and s <= 69:
    print('F')
elif s>=0 and s<=59:
    print('E')
else:
    print('输入有误,不在正确的分数范围')

  执行结果如下:

Python学习系列之数据结构(七)Python学习系列之数据结构(七)Python学习系列之数据结构(七)Python学习系列之数据结构(七)Python学习系列之数据结构(七)Python学习系列之数据结构(七)Python学习系列之数据结构(七)

 

 上述代码在Python中有另一个写法:

s=int(input('请输入一个分数:'))
if 90<=s<=100:
    print('A')
elif 80<=s<=89:
    print('B')
elif 70<=s<=79:
    print('C')
elif 60<=s<=69:
    print('F')
elif 0<=s<=59:
    print('E')
else:
    print('输入有误,不在正确的分数范围')

  此写法和上一种写法效果是一样的,而且更简便,但是只有Pyhton支持此种写法,其它语言不支持。

 2.4 分支结构嵌套if

语法结构:
if 条件表达式1:
  if 内层条件表达式1:
    内层条件执行体1
  else:
    内层条件执行体2
else:
  条件执行体

举例:

商场消费打折促销,会员消费大于等于200元打8折,大于等于100元打9折,小于100元不打折,非会员消费满200元打9.5折,小于200元不打折

代码如下:
answer=input('请问您是会员吗?y/n')
mOney=float(input('请输入您的购物金额:'))
if answer=='y':
    if money>=200:
        print('打8折,您的购物金额为:',money*0.8)
    elif money>=100:
        print('打9折,您的购物金额为:', money * 0.9)
    else:
        print('消费金额小于100,不打折')
else:
    if money>=200:
        print('非会员,消费金额大于等于200,打9.5折,消费金额为:',money*0.95)
    else:
        print('消费金额不足200元,不打折,您的消费金额为:',money)

  执行结果如下:

Python学习系列之数据结构(七)Python学习系列之数据结构(七)Python学习系列之数据结构(七)Python学习系列之数据结构(七)

 

 Python学习系列之数据结构(七)

 


推荐阅读
  • 历经三十年的开发,Mathematica 已成为技术计算领域的标杆,为全球的技术创新者、教育工作者、学生及其他用户提供了一个领先的计算平台。最新版本 Mathematica 12.3.1 增加了多项核心语言、数学计算、可视化和图形处理的新功能。 ... [详细]
  • Python包管理工具pip的使用指南
    本文详细介绍了如何使用pip进行Python包的安装、管理和常见问题的解决方法,特别针对国内用户提供了优化建议。 ... [详细]
  • 本文详细介绍了 Python 中的条件语句和循环结构。主要内容包括:1. 分支语句(if...elif...else);2. 循环语句(for, while 及嵌套循环);3. 控制循环的语句(break, continue, else)。通过具体示例,帮助读者更好地理解和应用这些语句。 ... [详细]
  • 如何使用Ping命令来测试网络连接?当网卡安装和有关参数配置完成后,可以使用ping命令来测试一下网络是否连接成功。以winXP为例1、打开XP下DOS窗口具体操作是点击“开始”菜 ... [详细]
  • Linux环境下C语言实现定时向文件写入当前时间
    本文介绍如何在Linux系统中使用C语言编程,实现在每秒钟向指定文件中写入当前时间戳。通过此示例,读者可以了解基本的文件操作、时间处理以及循环控制。 ... [详细]
  • 本文详细探讨了如何通过分析单个或多个线程在瓶颈情况下的表现,来了解处理器资源的消耗。无论是单进程还是多进程环境,监控关键指标如线程数量、占用时间及调度优先级等,有助于揭示潜在的性能问题。 ... [详细]
  • 本文详细介绍了PHP中的多条件分支结构,包括if、elseif和else语句的使用方法。通过具体示例,解释了如何根据不同的条件执行相应的代码块,并确保每个条件只能触发一次。 ... [详细]
  • 探讨 HDU 1536 题目,即 S-Nim 游戏的博弈策略。通过 SG 函数分析游戏胜负的关键,并介绍如何编程实现解决方案。 ... [详细]
  • 本文探讨了如何在C# WinForms应用程序中将带有格式(如粗体、下划线等)的RTF文本粘贴到RichTextBox控件中,并确保粘贴后的文本保持原始格式和着色。我们还将介绍一些优化方法,以提高处理效率。 ... [详细]
  • 在尝试使用C# Windows Forms客户端通过SignalR连接到ASP.NET服务器时,遇到了内部服务器错误(500)。本文将详细探讨问题的原因及解决方案。 ... [详细]
  • 本文回顾了2017年的转型和2018年的收获,分享了几家知名互联网公司提供的工作机会及面试体验。 ... [详细]
  • 深入解析ESFramework中的AgileTcp组件
    本文详细介绍了ESFramework框架中AgileTcp组件的设计与实现。AgileTcp是ESFramework提供的ITcp接口的高效实现,旨在优化TCP通信的性能和结构清晰度。 ... [详细]
  • 由二叉树到贪心算法
    二叉树很重要树是数据结构中的重中之重,尤其以各类二叉树为学习的难点。单就面试而言,在 ... [详细]
  • 在处理数值数据时,有时需要将浮点数数组中的元素转换为整数。NumPy 提供了多种方法来实现这一目标,其中 np.trunc() 函数可以方便地对数组进行取整操作。 ... [详细]
  • 深入理解Java多线程并发处理:基础与实践
    本文探讨了Java中的多线程并发处理机制,从基本概念到实际应用,帮助读者全面理解并掌握多线程编程技巧。通过实例解析和理论阐述,确保初学者也能轻松入门。 ... [详细]
author-avatar
opheliamaizi
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有