定义函数:(要求:定义函数处理逻辑。input输入操作在函数之外。)将用户输入的所有数字相乘之后对20取余数,用户输入的数字个数不确定

# 定义函数,用户判断一个字符串是不是数值(包括正数、负数、小数)
def input_isint(input_str):
    if input_str.replace('.', '', 1).isdigit():  # 判断是否是正数,包括小数
        return True
    elif input_str.startswith('-') and input_str[1:].replace('.', '', 1).isdigit():  # 判断是否是负数,包括小数
        return True
    else:
        return False


def remainder_calculate(*args):
    # 判断用户数输入参数是空,则直接返回0
    if args.__len__() == 0:
        return 0
    else:
        cal = 1
        for element in args:
            cal *= element
        return cal % 20


# 存储用户数输入的数值
num = []
# 用户输入做运算的数据,输入字母q结束输入,非q则进行运算
while True:
    user_input = input(f"请输入第{len(num)+1}个用于做运算的数字(输入字母q结束输入):")
    if user_input.lower() == 'q':
        break
    # 调用函数判断用户输入的是不是数值
    elif input_isint(user_input):
        num.append(float(user_input))
    else:
        print("您输入的不是数字,请重新输入!\n")
# 调用计算函数计算用户输入的数据
result = remainder_calculate(*num)
print("您输入的所有数字相乘之后对20取余数后的结果为:{:.2f}".format(result))

你可能感兴趣的:(python自动化测试,python测试开发)