美文网首页
python->if 语句

python->if 语句

作者: 也是如此 | 来源:发表于2018-07-11 23:29 被阅读11次

    选择结构

    选择:判断
    条件:真|假
    代码块:要执行的代码
    基本语法:单分支选择结构
    if 条件:
    条件为真要执行的代码

    选择结构进阶:双分支选择结构

    if 条件:
    条件为真 执行的代码块
    else: 否则
    条件为假 执行的代码块

    双分支简化语法:

    结果1 if 条件 else 结果2
    条件为真输出结果1,否则输出结果2

    “出门” if True else “在家” -> 出门
    “出门” if False else “在家” -> 在家
    简化语法中条件为真输出左边的结果;否则输出右边的结构

    扩展:其他语言中~有类似的语法,三元操作符 :条件?结果1:结果2
    python中没有这样三元操作符的处理

    多分支语法结构

    基础语法

    if 条件1:
    条件1为真执行的代码
    elif 条件2:
    条件2为真执行的代码
    elif 条件n:
    条件n为真执行的代码
    else:
    所有条件都不为真,才会执行的代码

    pro01 展示界面层级跳转

    [电子商城登录界面、电子商城首页界面、商品列表界面、游戏界面]
    程序运行:展示电子商城登录界面
    用户登录|注册
    登录成功-> 展示电子商城首页界面
    用户输入选项[进入购物超市|进入休闲小游戏]
    进入购物超市->展示商品列表界面
    进入休闲小游戏-> 进入游戏选项界面
    有了选择结构:命令行商城界面菜单,可以实现从上向下的跳转
    PS备注:为了让电子商城信息更加友好,我们要调用系统的cls清屏命令,清除多余显示数据
    引入一个系统模块import os 和操作系统交互的模块
    执行系统命令:os.system(‘cls’)

    退出程序:要求主动退出程序,要使用系统模块
    引入一个系统模块:import sys 和python解释器交互的模块
    退出系统:sys.exit(1) 主动退出程序

    pro01 电子商城登录界面跳转购物界面

    #coding:utf-8
    import os
    import time
    
    # 展示商城登录界面
    os.system('cls')
    print("\t\tPY1807A电子商城")
    print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~")
    print("\t\t1.用户登录")
    print("\t\t2.用户注册")
    print("\t\t3.退出系统")
    print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~")
    
    # 提示用户输入选项
    choice = input("请输入您的选项:")
    
    if choice == "1":
        # 用户登录 TODOimport sys
    
        
        # 展示首页菜单
        os.system('cls')
        print("\t\tPY1807A电子商城")
        print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~")
        print("\t\t1.进入购物超市")
        print("\t\t2.休闲小游戏")
        print("\t\t3.返回登录菜单")
        print("\t\t4. 退出系统")
        print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~")
    
        # 提示用户输入选项
        choice = input("请输入您的选项:")
        print("系统正在升级,功能正在完善中。")
        
    elif choice == "2":
        # 用户注册
        print("功能正在升级中...")
    elif choice == "3":
        # 退出系统
        print("系统即将退出>>>>3......")
        time.sleep(1)
        print("系统即将退出>>>>2....")
        time.sleep(1)
        print("系统即将退出>>>>1..")
        time.sleep(1)
        print("谢谢惠顾,欢迎下次光临")
        sys.exit(1)
    else:
        # 没有这个选项
        print("您输入的选项有误,请检查!")
    
    
    print("系统功能完善中>>>>>>>>>>>")
    
    

    pro02 老虎棒子鸡的小游戏

    #coding:utf-8
    
    #时间延时模块,随机数字模块
    import time
    import random
    
    #用户登录界面
    print("^*^"*30)
    print("^\t\t欢迎进入游戏界面")
    print("^\t\t1.我们进行的是老虎棒子鸡的游戏(老虎=0,棒子=1,鸡子=2,虫子=3)")
    print("^\t\t2.游戏规则:老虎吃鸡子,鸡子吃虫子,棒子打老虎,虫子吃棒子")
    print("^\t\t3.游戏主要是人机对战,电脑和玩家轮流出招,获胜可获得积分")
    print("^\t\t4.请根据提示进行游戏,祝您游戏愉快")
    print("^*^"*30)
    
    #电脑出招
    time.sleep(3)
    print("电脑正在苦思冥想,请稍候...")
    print("电脑出招中 3.....")
    time.sleep(1)
    print("电脑出招中 2....")
    time.sleep(1)
    print("电脑出招中 1...")
    time.sleep(1)
    
    computer = random.randint(0,3)
    print("电脑出招完成,请玩家出招")
    
    #玩家出招
    player = input("请玩家出招(老虎=0,棒子=1,鸡子=2,虫子=3):")
    
    #判断电脑和玩家的出招
    print("\t\t正在比较玩家出招结果")
    time.sleep(5)
    if (player == 0 and computer == 2) \
        or(player == 1 and computer == 0)\
        or(player == 2 and computer == 3)\
        or(player == 3 and computer == 1):
        print("victory,恭喜你战胜了一位强大的敌人,获得的积分马上送到您的账户上")
    elif (player == 0 and computer == 3)\
        or(player == 1 and computer == 2)\
        or(player == 3 and computer == 0)\
        or(player == 2 and computer == 1):
        print("draw,你们平局啦,加油,战胜它")
    else:
        print("defeat,不好意思,你输了,乖乖掏出你的积分吧")
    
    #玩家查看电脑出招结果
    time.sleep(2)
    print("~~~"*30)
    print("\t\t想要查看你的对手出的什么吗")
    print("\t\t输入我想静静即可查看结果:")
    print("~~~"*30)
    
    player = input("输入(我想静静)即可查看结果")
    
    if player == "我想静静":
    
        #computer = random.randint(0,3)
        if computer ==0:
            print("对手的出招:老虎")
        elif computer ==1:
            print("对手的出招:棒子")
        elif computer == 2:
            print("对手的出招:鸡子")
        elif computer == 3:
            print("对手的出招:虫子")
    else:
        print("输入错误")
    
    

    界面跳转

    1.商城界面的展示:
    print()展示信息
    清除命令行窗口多余的展示信息:import os ; os.system(‘cls’)
    主动退出程序:import sys ; sys.exit(1)
    延时操作:import time; time.sleep(1)
    界面跳转:选择结构:if多分支结构
    2.老虎棒子鸡子游戏
    print()展示信息
    选择结构:if 多分支和 if 的嵌套使用
    清除命令行窗口多余的展示信息:import os ; os.system(‘cls’)
    延时操作:import time; time.sleep(1)
    在查看电脑出招的程序中使用了 if 的嵌套结构
    注意判断是字符串还是整数或其他

    我遇到的BUG

    1.有好几次遇到同一个问题,就是字符串在不同的场景下的转换,有时候需要变换到int,根据前面的后面的输入内容,决定是
    str和int或者其他.......
    2.还有就是缩进的问题,有的if地方需要缩进,缩进要根据上下的输入来看一下是缩进几个字符。
    3.注意事件发生的逻辑顺序,调整好if和elif的用法

    相关文章

      网友评论

          本文标题:python->if 语句

          本文链接:https://www.haomeiwen.com/subject/unpkpftx.html