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

SNHU Python‘Simon Says’问题:如何简化无索引的字符串逐字符对比代码?

简化"Simon Says"游戏代码:移除s_index变量

当然可以不用手动维护s_index变量,我们可以利用Python的enumerate()函数来简化代码,同时满足章节对continue和break的要求。

优化后的代码

user_score = 0    
simon_pattern = input()    
user_pattern  = input()    

for i, letter in enumerate(user_pattern):
    if letter == simon_pattern[i]:
        user_score += 1
        continue  # 匹配成功,继续下一轮字符对比
    else:
        break  # 匹配失败,立即终止游戏

print('User score:', user_score)

代码说明

  1. enumerate(user_pattern)会在遍历用户输入序列时,同时返回当前字符的索引i和字符本身letter,这样就不需要手动创建并更新s_index来跟踪Simon序列的位置了。
  2. 匹配成功时,加分后用continue进入下一次循环(完全符合章节对continue的要求);匹配失败时用break终止循环,逻辑和原代码一致,但更简洁。
  3. 针对示例输入'RRGBRYYBGY'和'RRGBBRYBGY',代码会在第4个字符(索引3)处发现不匹配,终止循环,最终输出User score: 4,和题目要求的结果一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 11:24:24