分支结构

应用场景

迄今为止,我们写的Python代码都是一条一条语句顺序执行,这种结构的代码我们称之为顺序结构。然而仅有顺序结构并不能解决所有的问题,比如我们设计一个游戏,游戏第一关的通关条件是玩家获得1000分,那么在完成本局游戏后我们要根据玩家得到分数来决定究竟是进入第二关还是告诉玩家“Game Over”,这里就会产生两个分支,而且这两个分支只有一个会被执行,这就是程序中分支结构。

1.if语句的使用

在python中,要构造分支结构可以使用if、elif和else关键字。

练习:用户的身份验证

代码:

username = input('user:')
password = input('pwd:')
if username == 'admin' and password == '123':
    print('login')
else:
    print('Error')
运行结果:

需要说明的是与其他语言不同的是,python中没有用花括号来构造代码而是使用了所进的方式来设置代码的层次结构,如果if条件成立的情况下需要执行多条语句,只要保持多条语句具有相同的缩进就可以了,换句话说连续的代码如果又保持了相同的缩进那么它们属于同一个代码块,相当于是一个执行的整体。

当然如果要构造出更多的分支,可以使用if…elif…else…结构,例如下面的分段函数求值。

代码:

x = int(input('输入:'))
if x > 1:
    f = 3 * x - 5
elif x < -1:
    f = x + 2
else:
    f = x * 5 + 3
print(f)
运行结果:

3.计算器

代码:

num4,num5 = map(float,input('请输入两个数:').split(','))
choose_method = input('choose method')
if choose_method == '+':
  print('%f + %f = %f'%(num4,num5,num4 + num5))
elif choose_method == '-':
  print(num4 - num5)
elif choose_method == '*':
  print(num4 * num5)
elif choose_method == '/':
  print(num4 / num5)
else:
  raise KeyError('Only choose [+,-,*,/]')

运算结果:

4.石头剪刀布的游戏

代码:

import numpy as np
method = input('请出拳:')
computer = np.random.choice(['石头','剪刀','布'])
if method == '石头' and computer == '石头':
print('他出的 {} 平局呦!'.format(computer))
elif method == '石头' and computer == '剪刀':
print('他出的 {} 你赢了呢!'.format(computer))
elif method == '石头' and computer == '布':
print('他出的 {} 你输了呦!'.format(computer))
elif method == '剪刀' and computer == '石头':
print('他出的 {} 你输了呦!'.format(computer))
elif method == '剪刀' and computer == '剪刀':
print('他出的 {} 平局呦!'.format(computer))
elif method == '剪刀' and computer == '布':
print('他出的 {} 你赢了呢!'.format(computer))
elif method == '布' and computer == '石头':
print('他出的 {} 你赢了呦!'.format(computer))
elif method == '布' and computer == '剪刀':
print('他出的 {} 你输了呢!'.format(computer))
elif method == '布' and computer == '布':
print('他出的 {} 平局呦!'.format(computer))
 运行结果:

5.输入三边的长度,判断是否是三角形,若是计算周长和面积

代码:

import math
a = float(input('请输入边长1:'))
b = float(input('请输入边长2:'))
c = float(input('请输入边长3:'))
if (a + b > c) and (a + c >b) and (b + c < a):
print('周长:%.1f'%(a+b+c))
p = (a+b+c)/2
area = math.sqrt(p * (p-a) * (p-b) * (p-c))
print('面积:%.1f'%area)
else:
print('这不是一个三角形')
 运行结果:

Day_02-Python的分支结构和循环结构的更多相关文章

  1. Chrome弹窗的简单应用(选择结构与循环结构)

    ★选择结构★ ★JS实现弹窗显示随机数 示例代码效果图   ★ 弹窗实现对随机数的进一步判断 示例代码效果图 ★综合应用   比较大小 ★ 判断成绩等级 ): : : : : alert(" ...

  2. 黑马程序员——JAVA基础之程序控制流结构之循环结构,循环嵌套

    ------- android培训.java培训.期待与您交流! ---------- 循环结构: 代表语句:while ,do while ,for while语句格式 : while(条件表达式) ...

  3. Java程序流程控制:判断结构、选择结构、循环结构

    本文内容: 判断结构 if 选择结构 switch 循环结构 while do-while for for each break.continue return 首发时间:2017-06-22 21: ...

  4. 大数据学习--day04(选择结构、循环结构、大数据java基础面试题)

    选择结构.循环结构.大数据java基础面试题 switch: 注意: byte short int char String(jdk1.7支持) 不能是 long float double boolea ...

  5. 039 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 01 循环结构概述

    039 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 01 循环结构概述 本文知识点:循环结构概述 循环结构主要内容 while 循环 do-whiile ...

  6. java顺序结构、循环结构、选择结构

    java顺序结构.选择结构.循环结构 顺序结构: 语句与语句之间,框与框之间是从上到下的顺序进行的,它是由若干个依次执行的处理步骤执组成的,它是任何一个算法都不离开的一种基本算法结构. 选择结构: 1 ...

  7. Python开发【第3节】【Python分支结构与循环结构】

    1.流程控制  流程: 计算机执行代码的顺序就是流程 流程控制: 对计算机代码执行顺序的管理就是流程控制 流程分类: 流程控制共分为3类: 顺序结构 分支结构/选择结构 循环结构 2.分支结构(if. ...

  8. python第二课--分支结构与循环结构

    if语句---分支结构 在Python中,要构造分支结构可以使用if.elif和else关键字.所谓关键字就是有特殊含义的单词,像if和else就是专门用于构造分支结构的关键字,很显然你不能够使用它作 ...

  9. python分支结构与循环结构

    python分支结构 一.if 单条件形式 # 年轻人的世界都不容易 age > 18 age = int(input("请输入您的年龄:")) # input()函数 模拟 ...

  10. day4(分支结构,循环结构,for循环,九九乘法表)

    一:复习 ''' 1.变量名命名规范 -- 1.只能由数字.字母 及 _ 组成 -- 2.不能以数字开头 -- 3.不能与系统关键字重名 -- 4._开头有特殊含义 -- 5.__开头__结尾的变量, ...

随机推荐

  1. pycharm基础使用方法

    0.前言 Pycharm 作为一款针对 Python 的编辑器,配置简单.功能强大.使用起来省时省心,对初学者友好,这也是为什么编程教室一直推荐新手使用 Pycharm 的原因.本文我们将介绍  py ...

  2. oracle-控制文件的备份和恢复

    本篇将介绍各种备份及恢复控制文件的方法,在介绍恢复时,以备份和重做日志(包括归档日志和在线日志)没有丢失为前提. 无备份情况下的控制文件恢复参考13.3,丢失重做日志的情况请参考12篇“不完全数据库恢 ...

  3. 【SpringMVC】---搭建框架步骤

    项目如下 一.加入 Jar 包 部分jar包可以不导(第4.9.11个可以不导入) 二.在 Web.xml 中配置 DispatcherServlet <?xml version="1 ...

  4. C#得到10000以内素数

    偶数除了二都不是素数 一个数 n 如果是合数,那么它的所有的因子不超过sqrt(n)--n的开方 int i, j, n = 10000; for (i = 3; i <= n; i += 2) ...

  5. 循环Gray码的生成(非递归)

    #!/usr/bin/env python #coding:utf-8 import sys def gray_code(n): if n < 1: return [] n += 1 array ...

  6. codeforces 597 div 2

    A 题意: 有无限个方块,上面分别是0,1,2......若方块i可以被表示为ax+by(x,y>0),则方块为白色,否则为黑色,给出a,b.问黑方块是否有无限个. 分析: 1:若(a,b)=1 ...

  7. sudo pip install -i http://pypi.douban.com/simple/ --trusted-host=pypi.douban.com/simple ipython

    sudo pip install -i http://pypi.douban.com/simple/ --trusted-host=pypi.douban.com/simple ipython

  8. STL: HDU1004Let the Balloon Rise

    Let the Balloon Rise Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Oth ...

  9. C# 静态方法调用非静态方法

    转载:http://blog.csdn.net/seattle1215/article/details/6657814 using System; using System.Collections.G ...

  10. webpack 中如何使用 vue

    1. 安装vue的包: cnpm i vue -S 2. 由于 在 webpack 中,推荐使用 .vue 这个组件模板文件定义组件,所以,需要安装 能解析这种文件的 loader cnpm i vu ...