寻求Python测验App开发帮助:实现题目逐题展示功能
Python测验App逐题展示实现方案
你可以通过遍历题目列表、逐题渲染并接收用户输入的方式实现需求,以下是完整可运行的代码:
questions = [ { "num": 1, "question": "What does XML stand for?", "answer": "eXtensible Markup Language", "options": [ "eXtensible Markup Language", "eXecutable Multiple Language", "eXTra Multi-Program Language", "eXamine Multiple Language" ] }, { "num": 2, "question": "Who invented C# Language?", "answer": "Anders Hejlsberg", "options": [ "Bjarne Stroustrup", "Anders Hejlsberg", "Charles Babbage", "James Gosling" ] }, ] def run_quiz(): for q in questions: # 展示题目 print(f"\nQuestion {q['num']}: {q['question']}") print("Options:") # 带编号显示选项 for idx, option in enumerate(q['options'], 1): print(f"{idx}. {option}") # 获取用户输入 user_input = input("Enter your answer (number or full text): ").strip() # 处理输入逻辑,支持编号或文本 if user_input.isdigit(): selected_idx = int(user_input) - 1 if 0 <= selected_idx < len(q['options']): user_answer = q['options'][selected_idx] else: print("Invalid option number, moving to next question.") continue else: user_answer = user_input # 答案校验与反馈 if user_answer == q['answer']: print("Correct!") else: print(f"Wrong answer. The correct one is: {q['answer']}") if __name__ == "__main__": run_quiz()
核心逻辑说明
- 用
for循环遍历题目列表,自动按顺序处理每一道题 - 把选项按编号列出,用户既可以输入选项序号,也能直接输入答案文本
- 加入了输入合法性判断,避免无效输入导致程序出错
- 可选的答案校验功能,实时给用户反馈对错
内容的提问来源于stack exchange,提问作者astroCOde
相关产品推荐
相关产品推荐

