You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python老虎机(Slot Game)代码输出None问题求助

问题排查与解决

你的代码出现None None的原因是两个函数的return语句位置错误:

  • deposit()和get_number_of_lines()的return语句都缩进在else分支里,只有当输入非数字时才会返回值;
  • 当输入合法数值(比如200、3),循环正常break后,函数没有执行return语句,Python会默认返回None。

修正后的代码

MAX_LINES = 3

def deposit():
    while True:
        amount = input("What would you like to deposit? $")
        if amount.isdigit():
            amount = int(amount)
            if amount > 0:
                break
            else:
                print("Amount must be greater than 0.")
        else:
            print("Please enter a number.")
    # 循环结束后返回合法金额,移到else块外面
    return amount


def get_number_of_lines():
    while True:
        lines = input("Enter the number of lines to bet on (1-" + str(MAX_LINES) + ")? ")
        if lines.isdigit():
            lines = int(lines)
            if 1 <= lines <= MAX_LINES:
                break
            else:
                print("Enter a valid number of lines.")
        else:
            print("Please enter a number.")
    # 循环结束后返回合法线数,移到else块外面
    return lines


def main():
    balance = deposit()
    lines = get_number_of_lines()
    print(balance, lines)

main()

测试结果

输入存款200、选择3条线后,终端会正确输出:

200 3

内容的提问来源于stack exchange,提问作者Nelly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 17:47:48