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

Python实现循环逐次向字符串添加随机字母的记忆程序方法

Python记忆测试程序实现

核心规则

  • 程序首次运行打印3个随机小写字母
  • 提示玩家输入刚才展示的字母序列
  • 玩家输入正确则展示长度为4的全新随机字母序列(与上一轮序列完全不同)
  • 连续答对则持续提升序列长度,每次长度加1,且每轮序列均与上一轮不同
  • 玩家输入错误则程序直接终止

交互示例

The pattern is:
a f c
What is the pattern shown?: a f c
That is correct!
The pattern is:
g h t k
What is the pattern shown?: g h t
Sorry, that is incorrect!
** end of program **

原有参考代码问题

给出的参考代码存在多处无法运行、不符合需求的问题:

  • 语法错误:函数内部代码没有正确缩进,Python无法正常解析
  • 缺少依赖导入:用到的random、string、time模块均未提前导入
  • 初始长度错误:初始序列从1个字母开始累加,不符合首次展示3个字母的要求
  • 循环逻辑错误:固定循环5次就结束,不符合「答对就持续增加长度」的规则
  • 缺少重复校验:没有判断新生成的序列是否和上一轮一致
  • 文案不匹配:提示语、结束提示和需求给出的示例不一致

原有参考代码如下:

def easyLevel():
i = 0
pattern = random.choice(string.ascii_lowercase)
for i in range (5):
    pattern = pattern + " " + random.choice(string.ascii_lowercase)
    print("The pattern is: ")
    print(pattern)
    time.sleep(5)
    
    easyAns = str(input("What was the pattern?: "))

    if easyAns == pattern:
        i = i + 1
        print("That's correct!")
    else:
        print("Sorry, that's incorrect.")
        break

修正后可运行完整代码

import random
import string
import time
import os

def memory_test():
    current_length = 3
    last_pattern = ""
    while True:
        # 生成与上一轮不重复的当前序列
        while True:
            char_list = random.choices(string.ascii_lowercase, k=current_length)
            current_pattern = " ".join(char_list)
            if current_pattern != last_pattern:
                break
        
        print("The pattern is:")
        print(current_pattern)
        # 序列展示5秒后清屏,避免玩家直接照着输入,不需要该效果可删除以下两行
        time.sleep(5)
        os.system('cls||clear')

        user_ans = input("What is the pattern shown?: ")
        if user_ans == current_pattern:
            print("That is correct!")
            last_pattern = current_pattern
            current_length += 1
        else:
            print("Sorry, that is incorrect!")
            break
    print("** end of program **")

if __name__ == "__main__":
    memory_test()

代码说明

  • 用random.choices一次性抽取指定数量的小写字母,再用空格拼接,比循环累加字符串效率更高
  • 内层循环保证每轮新序列和上一轮完全不同,符合规则要求
  • 默认带5秒记忆等待+自动清屏效果,还原真实记忆测试玩法,删除对应两行代码即可关闭该效果,交互流程和需求示例完全一致
  • 用while True无限循环实现答对就升级的逻辑,没有固定轮次上限,直到玩家答错才退出
  • 所有交互文案完全匹配需求给出的运行示例

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 17:51:22