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

Python终端电影制作小游戏玩家得分无法累积叠加问题求助

问题修复方案

核心问题原因

  • 输入校验顺序错误:未先校验输入是否合法就直接把用户输入的值加到总得分里,非法输入也会累积到得分中,是得分异常增长的主要原因
  • 分支判断逻辑错误:用elif score > 0作为合法输入的执行条件,初始总得分是0时第一次合法输入会直接跳过加分逻辑;TAB输入的判断写法错误,无论输入什么都会触发返回菜单的逻辑
  • 函数定义位置错误:game_menu被定义在filmClicker函数内部,每次调用制作电影逻辑都会重复定义菜单,还会导致递归调用层级不断升高
  • press_enter函数逻辑冗余,存在无意义的变量赋值

修复后完整代码

import random

# 全局总得分初始化
total_score = 0

def press_enter():
    input("\n按回车键继续...")

def filmClicker():
    global total_score
    # 先获取用户输入并做校验
    user_input = int(input(">> Enter a number: "))
    if user_input < 1 or user_input > 5:
        print(">> Not a valid number.")
        filmClicker()
        return
    
    # 校验通过后再计算本轮得分、累加到总分
    round_produced = user_input + random.randint(1, 50)
    total_score += round_produced
    print(f"\n>> 本轮你制作了:{round_produced} 部电影 <<")

    go_back_or_menu = input(">> 按回车键继续制作,输入TAB返回菜单:").strip()
    if go_back_or_menu == "":
        filmClicker()
    elif go_back_or_menu.lower() == "tab":
        game_menu()

def game_menu():
    print("\n>>>>>>>>>>>>>>>>>>>> 菜单 >>>>>>>>>>>>>>>>>>>>")
    print(">> 输入A开始制作电影")
    print(">> 输入B查看当前总得分")
    print(">> 输入C查看当前票房")
    print(">> 输入D查看你的数据")

    press_button_menu = input("请输入选项:").strip().upper()
    if press_button_menu == "A":
        filmClicker()
    elif press_button_menu == "B":
        print(f"当前总得分 = {total_score}")
        press_enter()
        game_menu()
    elif press_button_menu in ["C", "D"]:
        # 这两个功能可后续自行补充逻辑
        print("功能开发中...")
        press_enter()
        game_menu()
    else:
        print("无效选项,请重新输入")
        press_enter()
        game_menu()

if __name__ == "__main__":
    print("TERMINAL FILM by Dominick")
    print("---------------------")
    game_menu()

改动说明

  • 把全局得分变量名改为total_score和本轮得分做区分,避免逻辑混淆
  • 调整校验顺序,输入不合法直接重试,不修改总得分
  • 把TAB的判断改为统一转小写后匹配,避免大小写判断遗漏
  • 把game_menu移到全局作用域,避免重复定义和递归层级问题
  • 补充了菜单其他选项的兜底逻辑,避免输入C、D等选项直接跳转到制作电影页面
  • 优化了提示语的可读性,删除无意义的打印操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 23:57:00