• day04 一个简单的代码优化案例


    import random
    punches = ['石头','剪刀','']
    computer_choice = random.choice(punches)
    user_choice = input('请出拳:(石头、剪刀、布)')  # 请用户输入选择
    while user_choice not in punches:  # 当用户输入错误,提示错误,重新输入
        print('输入有误,请重新出拳')
        user_choice = input()
    
    # 亮拳
    print('————战斗过程————')
    print('电脑出了:%s' %(computer_choice))
    print('你出了:%s' %(user_choice))
    
    # 胜负
    print('—————结果—————')
    if user_choice == computer_choice:  # 使用if进行条件判断
        print('平局!')
    elif (user_choice == '石头' and computer_choice == '剪刀') or (user_choice == '剪刀' and computer_choice == '') or (user_choice == '' and computer_choice == '石头'):
        print('你赢了!')
    else:
        print('你输了!')

    在上面的代码中,判定你胜利的条件很长.我们可以尝试优化它

    石头的索引为0,剪刀索引为1,布的索引为2(或-1)

    分析发现,当你的选择在列表中的索引等于电脑的索引-1时,你总是胜利的

    因此,该条件我们就可以优化为

    elif user_choice == punches[punches.index(computer_choice)-1]:
  • 相关阅读:
    C++ 虚成员函数和动态联编
    C++ 多态公有继承
    C++ 继承特性
    C++ 公有派生
    C++ 基类与派生类
    C++ 类继承
    C++ 伪私有方法
    C++ new失败
    mysql用户授权
    linux时间设置
  • 原文地址:https://www.cnblogs.com/87pzy/p/10537219.html
Copyright © 2020-2023  润新知