实例说明

财务人员在计算工资或者奖金时,需要手工对金额进行累加计算,很容易出现失误,如果用程序计算将变得简单起来,本实例数字加减器可帮助财务人员对需要累加的数字进行累加计算,并添加累加减数方便输入错误进行回退

知识点

异常处理

tyr...except

条件语句

1.while
break 跳出循环
continue 跳过此次循环进行下一次循环
2.if

字符转换

unicodedata.numeric

代码

all = 0.0
alladd = 0.0
indig = ''

# 累加俩个数
def add(addin, data):
    addone = 0
    addone = addin + data
    return addone

# 累减俩个数
def cut(cutin, data):
    cutone = 0
    cutone = cutin - data
    return cutone

# 判断数字浮点型
def is_number(s):
    try:
        float(s)
        return True
    # 传入无效的值
    except ValueError:
        pass

    try:
        import unicodedata

        # 把一个表示数字的字符串转换为浮点数返回
        unicodedata.numeric(s)
        return True
    except(TypeError, ValueError):
        pass
    return False

print('---------------------------')
print('----数字加减法累加器使用说明----')
print('----1.直接输入数字即可累加-----')
print('----2.输入‘-’可减去要减的数字--')
print('----3.输入‘q’或‘Q’退出程序----')
print('---------------------------')
while True:
    indig = input('输入待累加的数字').strip('')
    if indig == 'q' or indig == 'Q':
        break
    elif is_number(indig) == True or indig == '-':
        if indig == '-':
            cut_indig = input('请输入减去的数字').strip('')
            alladd = cut(float(all), float(cut_indig))
        else:
            alladd = add(float(all), float(indig))
        all = format(alladd, '.2f')
        print(all)
    else:
        print('输入非法字符,请重新输入数字!')