python3编程基础之一:程序结构

  程序从程序入口进入,到程序执行结束,大体是按照顺序结构执行语句、函数或代码块,掌握程序的结构,有利于把握程序的主体框架。

1、顺序结构--最常见的结构
  顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。程序的执行严格按照程序语句在程序中出现的先后顺序执行,如果修改了程序语句的顺序,就会影响程序的执行结果。其实无论多么复杂的程序,大概都是按照顺序结构执行的。

  

  rad = int(input(‘please input the rad: ‘))

  please input the rad: 3              //输入半径3

  print(3.14 * rad * rad)                //计算圆的面积 
  28.259999999999998               //返回圆的面积    

  该代码就是标准的顺序结构,该结构可以独立使用构成一个简单的完整程序,常见的输入,此处为语句A、计算,此处语句B,输出此处语句C三步曲的程序就是顺序结构。例如要计算圆的面积,顺序结构中,需要先输入圆的半径r,根据公式s = pi × r × r 计算圆的面积;最后输出圆的面积s,程序结束。

不过大多数情况下顺序结构都是作为程序框架的一部分,常常与其它结构一起构成一个复杂的程序,例如分支结构中的复合语句、循环结构中的循环体等。顺序结构的程序虽然能解决计算、输出等问题,但不能做判断再选择。对于要先做判断再选择的问题就要使用分支结构。

2、分支结构--最灵活的程序结构

  分支结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。分支结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的分支语句。有些语句根据程序运行中数据的情况,跳转到不同分支执行不同的语句。分支结构适合于带有逻辑或关系比较等条件判断的计算,设计这类程序时往往都要先绘制其程序流程图,然后根据程序流程写出源程序,这样做把程序设计分析与语言分开,使得问题简单化,易于理解。程序流程图是根据解题分析所绘制的程序执行流程图。

  单选结构:

  num = int(input(‘please select a number: ‘))     //提示输入数字
  please select a number: 4
            //接受输入的数字4
  if num != 5:
                  //判断输入的数字和5是否相等,符合条件,执行下一条语句
    print(‘you select error!‘)
             //输出提示信息
  如果是这样的:
  num = int(input(‘please select a number: ‘))     //提示输入数字
  please select a number: 5             //接受输入的数字5
   if num != 5:                            //判断输入的数字和5是否相等,不符合条件                   
    print(‘you select error!‘)                  //不执行该条语句,跳过,没有选择该条语句     
                         //输出为空
  

  双选结构例子:

  age = int(input(‘please input your age: ‘))       //提示输入年龄
  please input your age: 19              //输入年龄信息

  if age < 18:                     //判断年龄是否大于18
      print(‘you are not adult‘)
            //小于输出提示信息:you are not adult
  else:

       print(‘you are adult‘)
              //大于输出提示信息:you are adult
    
  输出结果:you are adult
  

  多选结构:

1   age = int(input("Enter your age:"))
2   if age < 0:
3       print("Error!")
4   elif age >= 0 and age < 7:
5       print("Free")
6   elif (age >= 7 and age < 14) or age >= 60:
7       print("Half price!")
8   else:
9       print("Full price!");  

  当输入年龄为9时,输出结果为:Half price!

  当输入年龄为-1时,输出结果为:Error!

  当输入年龄为4时,输出结果为:Free!

  当输入年龄为19时,输出结果为:Full price!

  该段代码想多测试几次,需要多次输入很多行代码,下一次找到解决办法。  

3、循环结构--最有毅力的结构

  循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构,C语言中提供四种循环,即while循环、do –while循环、for循环和goto循环。四种循环可以用来处理同一问题,一般情况下它们可以互相代替换,但一般不提倡用goto循环,因为强制改变程序的顺序经常会给程序的运行带来不可预料的错误,在学习中我们主要学习while、for循环。

  常用的循环结构学习的重点在于弄清它们相同与不同之处,以便在不同场合下使用,这就要清楚循环的格式和执行顺序,将每种循环的流程图理解透彻后就会明白如何替换使用。

  如把while循环的例题,用for语句重新编写一个程序,这样能更好地理解它们的作用。特别要注意在循环体内应包含趋于结束的语句(即循环变量值的改变),否则就可能成了一个死循环,这是初学者的一个常见错误。请大家注意条件改变代码执行的顺序问题。

  

 1 #!/usr/bin/env python
 2 born_year = int(input(‘Enter the year you born: ‘))
 3 this_year = int(input(‘Enter this year: ‘))
 4 while born_year > this_year:
 5     print("your age can‘t be negative. Please enter again: ")
 6     born_year = int(input(‘Enter the year you born: ‘))
 7     this_year = int(input(‘Enter this year: ‘))
 8 else:
 9     print(‘input success.‘)
10
11 print(‘your age is‘, this_year - born_year) 

  测试结果:

1 Enter the year you born: 2015
2 Enter this year: 2009
3 your age can‘t be negative. Please enter again:
4 Enter the year you born: 2015
5 Enter this year: 2019
6 input success.
7 your age is 4

  如果输入的不合乎逻辑,直接让用户重新输入。

  

4、模块化程序结构

  现代化编程语言中,模块化程序结构用函数来实现,即将复杂的程序分为若干模块,每个模块都编写成一个函数或者包,然后通过主函数调用函数及函数调用函数来实现一大型问题的程序编写。程序=数据结构+算法。 其中,数诀结构完成函数的定义,算法主要通过对函数的实现,测试函数完成函数的调用、值的返回等。编程需要注重理解和应用,并通过上机调试加以巩固。

  例如上边的代码作为一个代码段:

 #!/usr/bin/env python
 2 born_year = int(input(‘Enter the year you born: ‘))
 3 this_year = int(input(‘Enter this year: ‘))
 4 while born_year > this_year:
 5     print("your age can‘t be negative. Please enter again: ")
 6     born_year = int(input(‘Enter the year you born: ‘))
 7     this_year = int(input(‘Enter this year: ‘))
 8 else:
 9     print(‘input success.‘)
10
11 print(‘your age is‘, this_year - born_year)

  运行有两种方式:

  1、直接运行:python  test4.py

  2、添加可执行权限,直接执行文件:

    chmod  a+x test4.py

    ./test4.py

原文地址:https://www.cnblogs.com/guochaoxxl/p/11785902.html

时间: 2024-10-16 19:51:05

python3编程基础之一:程序结构的相关文章

001编程基础----GDB程序调试

一.GDB是GNU发布的程序调试工具.有三方面功能: 1.启动被调试程序. 2.让被调试程序在指定位置停住. 3.当程序被停住时,可以检查程序状态(如变量值). 二.GDB调试步骤: 1.编译生成可执行文件 gcc -g hell.c -o hello 2.启动GDB gdb hello 3.在main函数处设置断点 break main(或b main) 4.运行程序 run 5.单步 next 6.继续运行 continue(或c) 7.退出GDB   quit 三.GDB命令的常用操作 l

000编程基础----GCC程序编译

GNU C Compiler 多平台编译器,是GNU的代表作之一. GCC编译器可以编译链接C\C++\汇编成可执行文件,可执行文件没特殊后缀,看属性. 预处理 编译 汇编 链接 Gcc通过后缀来区分不同类型文件 .c C语言源代码文件 .a库文件 由目标文件构成的库文件 .C .cc .cxx C++源代码文件 .h 头文件 .i 已经预处理过的C源代码文件 .ii 已经预处理过的C++源代码文件 .o 编译后的目标文件 .s 汇编语言源代码文件 .S 经过预编译的汇编语言源代码文件 预处理:

GO语言编程基础-复合类型结构体

大家好,我们是链客区块链技术问答社区,今天讲一讲Go语言的基础编程. 链客,有问必答!!! 1 结构体类型 有时我们需要将不同类型的数据组合成一个有机的整体,如:一个学生有学号/姓名/性别/年龄/地址等属性.显然单独定义以上变量比较繁琐,数据不便于管理. 结构体是一种聚合的数据类型,它是由一系列具有相同类型或不同类型的数据构成的数据集合.每个数据称为结构体的成员. 2 结构体初始化 2.1 普通变量 type Student struct { id   int name string sex  

python3编程基础之一:量的表示

计算机的操作最终表现是数据的操纵,为了表示和存储数据,都需要对数据进行引用,计算机可以直接从内存地址实现一步访问数据,但是编程的人却没有这种能力.就像人可能够不到在高处的氢气球,但是可以拉动邦在氢气球上的绳子,通过绳子最终实现拿到氢气球.也就是说在计算机中,每个数据都像氢气球一样具有左值,表明数据所在的地址和右值表明数据的具体内容,这就是变量的诞生记.程序员通过变量及变量的多种变化形式实现对内存数据的应用.编程语言中的变量都有自己的特征,例如:数据范围.占用内存的大小.数据在内存中的组织方式,甚

python3编程基础之一:标识符

每种编程语言都是需要处理数据的,需要变量.函数.类等,而这些都是通过名称访问的.因此,能够作为变量.函数.类等名称的字符串就是标识符.数据,是计算机进行运算的实体.标识符,用来标记的符号,它会指向一个实体.变量,可能会发生变化的标识符. 如果孙悟空为例来明确标识符与实体间的联系:一个石头缝里蹦出的石头猴子,一个无法无天敢大闹天宫的猴子,一个勇闯阎宫殿撕毁生死薄的猴子,一个在花果山自封齐天大圣的猴子,一个被天宫招安官封弼马温的猴子,一个被压在五指山下只能餐风饮露五百多年的猴子,一个被师傅赶走危难时

第七章,shell编程基础

更多笔记点击查看 Linux学习从入门到打死也不放弃,完全笔记整理(持续更新) http://blog.51cto.com/13683480/2095439 笔记整理开始时间:2018年4月12日11:37:35 本章内容: 编程基础 脚本基本格式 变量 运算 条件测试 配置用户环境 编程基础: 程序:指令+数据 程序编程风格: 过程式:以指令为中心,数据服务于指令 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤 一步一步实现,使用的时候一个一个依次调用就可以了 对象式:以数据为中

Shell脚本编程基础

什么是Shell 操作系统最外层的程序,shell通过提示符让用户输入,向操作系统解释该输入,然后处理来自操作系统的任何结果输出来,管理用户与操作系统之间的交互. Shell是一个用户跟操作系统之间的一个命令解释器.Shell是用户与Linux操作系统之间沟通的桥梁.用户可以输入命令执行,又可以利用 Shell脚本编程去运行. 为什么要用到shell shell是一个交互式程序,当用户输入一条命令,shell就解释一条,一次只处理一条命令.如果我们一些复杂操作,逐个敲命令工作量就会增大,因此,我

JavaWeb-07(tomcat与web程序结构与Http协议与Servlet基础)

JavaWeb-07 JavaWeb-tomcat与web程序结构与Http协议与Servlet基础 HTTP协议(记住) 1.http协议:规定了客户端和服务端交流时的数据格式 a. WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵循一定的规则,这个规则就是HTTP协议. b. HTTP是HyperText Transfer Protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程及数据本身的格式. c. HT

Android 网络编程基础之简单聊天程序

前一篇讲了Android的网络编程基础,今天写了一个简单的聊天程序分享一下 首先是服务端代码: 1 package com.jiao.socketdemo; 2 3 import java.io.BufferedReader; 4 import java.io.BufferedWriter; 5 import java.io.IOException; 6 import java.io.InputStreamReader; 7 import java.io.OutputStreamWriter;