• 第2关-条件判断与条件嵌套


    ------------恢复内容开始------------

    第2关-条件判断与条件嵌套

    一、条件判断

    条件判断:计算机沟通的逻辑——条件判断

    作用:明确地让计算机知道:在什么条件下,该去做什么。

    范例:《复仇者联盟3:无限宝石》

     1 import time
     2 
     3 print('如果你想拥有无限的力量和能量,那必须夺得力量宝石')
     4 
     5 time.sleep(2)
     6 
     7 print('如果你想扭曲时空和任意地传送,那必须夺得空间宝石')
     8 
     9 time.sleep(2)
    10 
    11 print('如果你想任意地修改现实,无视任何宇宙规律,那必须夺得现实宝石')
    12 
    13 time.sleep(2)
    14 
    15 print('如果你想到达任何一个时间点,无论是古老的年代还是遥远的未来,那必须夺得时间宝石')
    16 
    17 time.sleep(2)
    18 
    19 print('如果你想控制生者和死者的灵魂,那必须夺得灵魂宝石')
    20 
    21 time.sleep(2)
    22 
    23 print('如果你想拥有不朽的精神力量并操控任何人的思维,那必须夺得心灵宝石')
    24 
    25 time.sleep(2)
    26 
    27 print('那么,如果让你来选择的话,你想要获得哪颗宝石呢?')
    28 
    29 time.sleep(2)
    30 
    31 print('请在以下六个选项【1 力量宝石 ;2 空间宝石;3 现实宝石 ;4 时间宝石;5 灵魂宝石 ;6 心灵宝石;】中,选择你最想获得的宝石吧!')
    32 
    33 time.sleep(3)
    34 
    35 answer=input('请将对应数字输入在冒号后: ')
    36 
    37 if answer=='1':
    38     print('我告诉你哦,力量宝石保存在山达尔星的新星军团的总部基地')
    39     time.sleep(3)
    40 
    41 elif answer=='2':
    42     print('空间宝石在洛基手里')
    43     time.sleep(3)
    44 
    45 elif answer=='3':
    46     print('雷击已将现实宝石交给收藏家保管')
    47     time.sleep(3)
    48 
    49 elif answer=='4':
    50     print('奇异博士愿意用时间宝石换取钢铁侠的性命')
    51     time.sleep(3)
    52 
    53 elif answer=='5':
    54     print('必须献祭自己心爱的人才能得到灵魂宝石')
    55     time.sleep(3)
    56 
    57 else:
    58     print('幻视头上的心灵宝石被绯红女巫摧毁,但可用时间宝石复原')
    59     time.sleep(3)

    1.单向判断:if

    (1)范例

     1 # 为宝石数量赋值
     2 #用赋值运算符=对当前情况进行赋值:将你拥有的宝石个数6赋值给变量——宝石数stonenumber
     3 stonenumber=6
     4 
     5 # 条件:如果你拥有的宝石数量大于等于6个
     6 #确定if条件:如果变量stonenumber的值>=个数6时,就执行冒号后,下一行的命令。
     7 
     8 if stonenumber>=6:
     9     
    10     #用print()命令打印出结果。
    11     # 结果:显示‘你拥有了毁灭宇宙的力量’的结果
    12     print('你拥有了毁灭宇宙的力量')   
    1 # 为宝石数量赋值
    2 stonenumber=2
    3 
    4 # 条件:如果你拥有的宝石数量大于等于6个
    5 if stonenumber>=6:
    6    
    7     #第一行的赋值语句【stonenumber=2】是后面if条件判断语句的前提情况,然而并不满足『stonenumber>=6』这个条件,所以不会执行条件下的『print』操作。
    8     print('你拥有了毁灭宇宙的力量') 
    9 #计算机是一行行往下执行代码的。所以,当第一行赋值情况的前提不满足if的条件时,Python的逻辑就会判断:条件不满足,无法执行if条件下的命令,从而自动跳过,执行下一行命令。

     (2)缩进

    对于Python而言,冒号和缩进是一种语法。它会帮助Python区分代码之间的层次,理解条件执行的逻辑及先后顺序。【注:缩进是四个空格或一个Tab键】

    并且,在if条件语言中,缩进不需要我们手动按空格键。当你用英文输入法打:后按回车,我们的开发工具(用来编写Python代码的程序)为了方便大家编程,会自动实现下一行代码,向右缩进的功能。

    此时,被缩进的内容(print()函数)和if条件语句组成了一个代码块(一个整体),成为了if条件下的内部命令。

    这意味着:如果赋值满足if条件,计算机就会准确执行if条件内部的命令(即缩进的代码块)。

    (3)知识点

    if语句的单向判断逻辑:

    单向判断:if的代码逻辑及语法格式:

    (1)范例

     1 # 为宝石数量赋值
     2 stonenumber=5
     3 
     4 # 条件:如果你拥有的宝石数量大于等于6个
     5 if stonenumber>=6:
     6     
     7     # 结果:显示‘就拥有了毁灭宇宙的力量’的结果
     8     print('你拥有了毁灭宇宙的力量')
     9     
    10 # 条件:如果想让宝石数量停留在5个以下,至少一个
    11 elif 0<stonenumber<=5:
    12 
    13     # 结果:显示‘绯红女巫需要亲手毁掉幻视额头上的心灵宝石’的结果
    14     print('绯红女巫需要亲手毁掉幻视额头上的心灵宝石')
    15 
    16 # 条件:当赋值不满足if和elif条件时,执行else下的命令,宝石数量为0个
    17 else:
    18 
    19     # 结果:显示‘需要惊奇队长逆转未来’的结果
    20     print('需要惊奇队长逆转未来')

    (2)知识点

     

     二、if嵌套

    1.范例

     1 historyscore=26
     2 
     3 if historyscore>=60:
     4     print('你已经及格')
     5 
     6     if historyscore>=80:
     7         print('你很优秀')
     8 
     9     else:
    10         print('你只是一般般')
    11 
    12 else:
    13     print('不及格')
    14 
    15     if historyscore<30:
    16         print('学渣')
    17 
    18     else:
    19         print('还能抢救一下')
    20 
    21 print('程序结束')

    2.知识点

     三、练习

    1.偷回宝石

     1 #他们一个宝石都没偷回来,为偷来的宝石stonenumber赋值为0。
     2 stonenumber = 0
     3 if stonenumber >= 4:
     4     #如果偷回的宝石数是4颗及以上,输出结果:获得了打败灭霸的力量,反杀稳了
     5     print('获得了打败灭霸的力量,反杀稳了')
     6 elif stonenumber >= 1:
     7     #如果偷回的宝石数是1-3颗,输出结果:可以全员出动,殊死一搏
     8     print('可以全员出动,殊死一搏')
     9 else:
    10     #如果偷回的宝石数是0颗,输出结果:没办法了,只能尝试呼叫惊奇队长
    11     print('没办法了,只能尝试呼叫惊奇队长')

    2.美国队长的工资

     1 salary = 1000
     2 if salary <= 500:
     3     #如果月工资小于等于500美元,显示“欢迎进入史塔克穷人帮前三名”
     4     print('欢迎进入史塔克穷人帮前三名')
     5     if salary <= 100:
     6        # 如果月工资小于等于100美元,显示“恭喜您荣获“美元队长”称号!”
     7         print('恭喜您荣获“美元队长”称号!')
     8     else:
     9         #如果月工资在100-500美元之间,显示“请找弗瑞队长加薪”
    10         print('请找弗瑞队长加薪')
    11 elif  salary <= 1000:
    12     #如果月工资在500-1000美元之间(含1000美元),打印“祝贺您至少可以温饱了。”
    13     print('祝贺您至少可以温饱了。')
    14 else:
    15     #其他情况下,如果工资大于1000美元,打印“经济危机都难不倒您!”
    16     print('经济危机都难不倒您!')
    17     if salary <= 20000:
    18     #如果工资在1000-20000美元(含20000美元)之间,打印“您快比钢铁侠有钱了!”
    19         print('您快比钢铁侠有钱了!')
    20     else:
    21     #如果月工资大于20000美元,打印“您是不是来自于瓦坎达国?”
    22         print('您是不是来自于瓦坎达国')
    23 print('程序结束')

     

  • 相关阅读:
    java中getResourceAsStream的问题 缓存
    springside 查询条件
    如何修改MySQL数据库引擎为INNODB
    获取用户真实 IP , 淘宝IP接口获得ip地理位置
    hibernate注解的CascadeType属性
    AssignmentHandler实现类用spring注入
    使用 jQuery dataTables
    转载:一致性 hash 算法( consistent hashing )
    转载:memcached完全剖析
    转载:连接MySQL数据库的两种方式介绍
  • 原文地址:https://www.cnblogs.com/yiyezhiqiu1/p/13084448.html
Copyright © 2020-2023  润新知