Python TypeError:'NoneType'与'int'不支持*运算问题求助
TypeError: unsupported operand type(s) for *: 'NoneType' and 'int' 问题解决
错误原因
你的gbet()函数没有返回值,执行bet = gbet()时,bet会被赋值为None。后续计算tbet = bet * lines时,None和整数lines无法相乘,因此触发该类型错误。
修复方法
在gbet()函数的循环中,当用户输入的金额符合要求时,需要返回该金额。修改后的gbet()函数如下:
def gbet(): while True: amount = input("Bet Amount: ") if amount.isdigit(): amount = int(amount) if MIN_BET <= amount <= MAX_BET: return amount # 添加return语句返回合法的投注金额 else: print(f"Choose a number that is between ${MIN_BET} - ${MAX_BET}.\n") else: print("Please enter a number!\n")
验证逻辑
修改后,gbet()会返回用户输入的合法整数金额,bet变量将获得正确的整数值,执行tbet = bet * lines时就能正常计算总投注金额,不会再触发类型错误。
内容的提问来源于stack exchange,提问作者bl4ze
相关产品推荐
相关产品推荐

