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

Python真假语录判断程序问题排查:代码运行异常求助

Fact or BS趣味程序代码错误分析

你的代码存在以下几个关键错误,导致无法正常运行:

  • while循环条件语法错误:while fact=0使用了赋值运算符=,Python中循环条件需要用比较运算符==,正确写法是while fact == 0。
  • 随机选择函数使用错误:Python的random模块没有randchoice函数,正确的函数是random.choice();同时你的逻辑是随机选择t或f整个元组,而非从元组中选单条语录,应该先随机决定是真实组还是虚构组,再从对应组里抽取单条语录。
  • 逻辑顺序颠倒:当前代码先让用户输入判断,再展示语录,完全不符合程序逻辑,应该先输出随机选中的语录,再让用户输入判断。
  • 变量匹配逻辑错误:你用l == t判断是否选中真实组,但l实际会是单条语录字符串,永远不可能等于元组t,需要单独记录当前选中的语录类型(真实/虚构)。
  • 拼写错误:welcome函数里的quite是笔误,应该改为quote。
  • 输入未做异常处理:当用户输入非数字内容时,int(input())会抛出ValueError,导致程序崩溃。

修正后的代码

# 随机抽取真实/虚构语录,让用户判断真假,输入1=真实,2=虚构,0=退出
import random

def conserv():
    true_quotes = ("This is a test true quote", "This is another true quote")
    fake_quotes = ("This is a test fake quote", "This is also fake")
    running = True
    while running:
        # 随机选择语录类型和具体内容
        is_real = random.choice([True, False])
        if is_real:
            selected_quote = random.choice(true_quotes)
        else:
            selected_quote = random.choice(fake_quotes)
        
        # 展示语录并获取用户输入
        print(f"\nQuote: {selected_quote}")
        try:
            user_input = int(input("Is this quote real (1) or fake (2)? Enter 0 to quit: "))
        except ValueError:
            print("请输入有效的数字(0/1/2)")
            continue
        
        # 判断用户输入并给出结果
        if user_input == 0:
            running = False
            print("程序结束")
        elif user_input == 1:
            if is_real:
                print("答对了!这是真实语录!")
            else:
                print("答错啦,这条是我编的~")
        elif user_input == 2:
            if not is_real:
                print("答对了!这条是虚构的!")
            else:
                print("答错啦,这是真实存在的语录!")
        else:
            print("输入无效,请输入0、1或2")

def welcome():
    print("欢迎来到「真语录or瞎编」游戏!我会给出一条语录,输入1表示真实,2表示虚构,输入0即可退出程序!")

def main():
    welcome()
    conserv()

if __name__ == "__main__":
    main()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 19:35:20