• python带参函数(计算器脚本解释标注)


    环境

    python 3.*
    def operator(op1,op2,opfu):
    #定义符号函数,op1表示第一个运算数值,op2表示第二个,opfu表示运算符号
        if opfu not in '+-*/':
            return -1
        #如果opfu不是这四个符号当中的任何一个,返回值是-1,表示程序出错
        if opfu == '+':
            qiao = op1+op2
        #如果符号是+,那就表示op1加上op2
        elif opfu == '-':
            qiao = op1 - op2
        #如果符号是-,表示op1减去op2
        elif opfu == '*':
            qiao = op1 * op2
        elif opfu == '/':
            if op2 == 0:
                print('error,not is 0/n')
                qiao = None
            else:
                qiao = op1 / op2
        #进行除法运算时除数不能够为0,所以先排除在外,为0是返回值为None,表示程序错误
        return qiao
        #将运算结果返回
    def convert(op):
    #定义函数,作用是将用户输入字符串转换为数值型
        flag=True
        #定义该变量用于判断数值有效性
        for i in op:
            if i not in '1234567890':
                flag=False
                break
        #op是传进来的字符串,使用循环来判断字符的规范性,如不规范,则flag值为False,并退出循环
        if flag==True:
            return int(op)
        else:
            return None
        #如果flag的值为True,即数值是规范的,那么将其进行数值类型转换,为整形;否则,返回None,程序错误
    if __name__ == '__main__':
    #表示,是当作脚本运行
        str1 = 'please press first number:
    '
        strfu = 'please press a mathfu:
    '
        str2 = 'please press second number:
    '
        #三个变量给用户输入提示信息,和用户进行交互
        while True:
            print('q is quit')
            #告知q表示退出
            opp1 = input(str1)
            ch = opp1.strip()[0].lower()
            if ch == 'q':
                break
            #如果ch值,即用户输入的为q,跳出循环
            op1 = convert(opp1)
            #调用convert函数对第一个数转换数据类型为整形
            if op1 ==None:
                print('error,please against try!
    ')
                continue
            #如果函数返回值为None,输出提示信息,跳出本次循环,进行下一次循环
            while True:
                opfu = input(strfu)
                if opfu in '+-*/':
                    break
                else:
                    print('mathfu had error!')
                    continue
            #给用户一个交互是用户输入符号赋值给opfu,符号规范则结束循环;否则,输出提示,然后再次循环。
            while True:
                op2 = convert(input(str2))
                if op2 == None:
                    print('press had error ,against try!
    ')
                    continue
                else:
                    break
            #调用convert函数转换数据类型,这是第二个数值
            result = operator(op1,op2,opfu)
            #调用之前定义的operator函数进行运算,并将结果复制给result变量
            if result != None:
                print('计算%d %s %d=%d'%(op1,opfu,op2,result))
            #如果结果不为None,即表示程序正常运行,那就输出信息。
            #字符串拼接需要注意是为英文符号,还有顺序
    print('quited')
    #为q退出,并提示信息。        
    
  • 相关阅读:
    Linux基本命令(一)
    Linux基本命令(一)
    前端js实现打印excel表格
    前端js实现打印excel表格
    前端js实现打印excel表格
    前端js实现打印(导出)excel表格
    前端js实现打印(导出)excel表格
    混合开发中拍照和打电话功能的代码
    混合开发中拍照和打电话功能的代码
    操作系统的发展史(科普章节)
  • 原文地址:https://www.cnblogs.com/jojoword/p/10649874.html
Copyright © 2020-2023  润新知