如何将input函数与自定义arb函数关联以计算ARB值和ROI?
问题解决:正确获取输入并调用arb函数
你的现有代码存在几个关键问题:
- 从
input()拿到的是字符串,没拆分、转换为数值,没法直接传给arb函数 - 定义了
arb函数但从未调用它 - 函数定义的缩进有语法错误
以下是修正后的完整代码:
def arb(x1, y1, x2, y2): # 计算ARB值(投注所需的总百分比) arb_value = ((100 * y1) / (x1 + y1)) + ((100 * y2) / (x2 + y2)) print(f"ARB值: {arb_value}") # 计算ROI(投资回报率) roi = 100 - arb_value print(f"ROI: {roi} percent") # 获取输入并处理 input_str = input("请输入赔率,格式为top1,bottom1,top2,bottom2: ") # 拆分输入字符串,去除空格并转换为浮点数 x1, y1, x2, y2 = map(float, input_str.replace(" ", "").split(",")) # 调用arb函数 arb(x1, y1, x2, y2)
关键修改说明:
- 修正了
arb函数的缩进,确保符合Python语法规范 - 处理输入时,先去除字符串中的空格,再按逗号拆分,最后转换为浮点数(支持小数赔率)
- 明确标注了ARB值的输出,让结果更直观
- 调用
arb函数,传入处理后的四个数值参数
内容的提问来源于stack exchange,提问作者AcoffeePls
相关产品推荐
相关产品推荐

