Python程序问题:如何存储完整随机字符组合以支持用户验证
问题解决:保存完整随机字符序列并验证
你的代码问题在于循环中每次都会用新的随机组合覆盖letter_combo变量,最终只保留了最后一组结果。要实现保存完整序列并让用户验证整个序列的需求,可以按以下方式修改:
修改后的代码
import random # 避免用list作为变量名,它是Python内置类型 char_pairs = ['AB','CD','GF','HD'] full_sequence = '' # 初始化空字符串存储完整序列 for _ in range(3): selected_pair = random.choice(char_pairs) full_sequence += selected_pair # 将每次选中的组合追加到完整序列 print(selected_pair, end='') print('\n') user_answer = input("请重写完整序列 " + full_sequence + ": ") if user_answer == full_sequence: print("正确") else: print("错误的组合")
修改说明
- 把变量名
list改成char_pairs,避免覆盖Python内置的list类型 - 新增
full_sequence字符串,用来累积每次循环生成的随机字符组合 - 循环中不再覆盖单个变量,而是将选中的组合追加到
full_sequence中 - 输入提示和验证逻辑都基于完整的
full_sequence,而不是最后一组组合
运行效果示例
ABCDGF 请重写完整序列 ABCDGF:
如果用户输入ABCDGF,会输出"正确";输入其他内容则输出"错误的组合"。
内容的提问来源于stack exchange,提问作者goose0404
相关产品推荐
相关产品推荐

