python 标志法-优化版(数值判断[正负])、非空判断、退出判断)

liftword4个月前 (01-22)技术文章26

在这个程序中,我们使用了一个标志来指出程序是否处于活动状态,这样如果要添加测试(如elif 语句)以检查是否发生了其他导致quit_msg2变为False 的事件,将很容易。

在复杂的程序中,如很多事件都会导致程序停止运行的游戏中,标志很有用:在其中的任何一个事件导致活动标志变成False 时,主游戏循环将退出,此时可显示一条游戏结束消息,并让用户选择是否要重新玩。

# 标志退出法  将退出程序的条件交给其他语句
def print_input_test():
    quit_msg2 = True    # 退出标志,True:运行;False:退出
    while quit_msg2:
        quit_msg2 = input("请输入一个数字:(输入quit退出程序)\n")
        # 输入不为空
        if quit_msg2.strip() != '':
            # 输入为quit,直接退出程序
            if quit_msg2.strip() == 'quit':
                quit_msg2 = False   # 退出程序
            # 输入不为quit,调用函数判断输入是否为数字
            elif isInt(quit_msg2):
                # 输入为数字,判断是否为3的整数倍,并打印出结果
                if int(quit_msg2) % 3 == 0:
                    print(quit_msg2, "是3的整数倍")
                else:
                    print(quit_msg2, "不是3的整数倍")
            # 输入不为数字,提示重新输入
            else:
                print("你输入的不是数字,请重新输入!\n")
        else:
            # 如果输入为空,继续循环
            quit_msg2 = True

# 判断一个值 是否是数字(包含正负)
# 思考为何不用isnumeric() 、isdigit() 判断输入值
def isInt(number):
    try:
        number=int(str(number)) # 转换为int类型
        return isinstance(number,int)   #判断是否为int类型,如果是,返回True
    except:
        return False    # 非Int类型,返回False


if __name__ == '__main__':
    print_input_test()

相关文章

python 判断变量是否是 None 的三种写法

代码中经常会有变量是否为None的判断,有三种主要的写法:第一种是 if x is None ;第二种是 if not x: ;第三种是 if not x is None (这句这样理解更清晰 if...

简单学Python——关键字2——True和False

True和False是Python中的两个关键字,是布尔类型,分别用于表示真和假。1、True和False表示真和假的例子:#将1==2的结果赋值给了x x=1==2 #将1==2的结果赋值给了y y...

Python+selenium自动化之判定元素是否存在

在测试过程中,我碰到过这类的问题,使用find_element却找不到某个元素而产生异常,这就需要在操作某个元素之前判定该元素是否存在,而selenium中没有判定元素是否存在的方法,或者判定相同的元...

春节停车难?用 Python 找空车位!(python停车管理系统)

作者 | Adam Geitgey译者 | 风车云马整理 | Jane出品 | AI科技大本营(ID:rgznai100)【导语】今天这篇文章的选题非常贴近生活。笔者生活在北京,深知开车出门最怕的就是...

Python条件语句怎么用(python条件语句的基本结构)

if 条件判断语句python 语句是按固定顺序执行的,先执行前面的语句,再执行后面的语句。如果你像要程序按照你自己定制的流程执行,就需要用到流程控制的语句,最主要用到的是条件语句和循环语句。条件语句...