定义函数:(要求:定义函数处理逻辑。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))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Allen Bright

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值