修复思路
为了让每个问题在用户答错时能够重复询问,同时避免多个嵌套的 while True 导致的混乱,可以采取以下方法:
- 把所有的问题和答案存储在一个列表或字典中。
- 使用一个统一的循环来遍历所有问题。
- 对用户答错的情况,继续当前问题的循环,直到答对。
改进代码如下:
questions = [
{
"question": "国家标准编号为GBT14689:2008,在该号中GBT表示国家标准,14689表示——,2008表示——",
"answer": "编号时间"
},
{
"question": "制图国家标准规定,图纸有5种,最大的是——,最小的是——,A3是A4的多少倍,标题栏一般放在图纸的——",
"answer": "A0A42右下角"
},
{
"question": "图样中,机件的可见轮廓线用——画出,不可见轮廓线用——画出,尺寸线和尺寸界限用——画出,对称中心线和轴线用——画出",
"answer": "粗实线细虚线细实线细点画线"
},
{
"question": "正投影法中的三个基本特性是真实性、_和_",
"answer": "积聚性类似性"
},
{
"question": "正投影法中,三视图的“三等”规律是哪三个",
"answer": "长对正高平齐宽相等"
},
{
"question": "平面图形中的线段可分为———,——,——三种",
"answer": "已知线段连接线段中间线段"
},
{
"question": "园柱被平面截切后产生的截交线形状主要有圆、矩形和___三种。",
"answer": "椭圆"
}
]
# 遍历每个问题
for item in questions:
while True:
user_answer = input(item["question"] + "\n")
if user_answer == item["answer"]:
print("yes")
break # 跳到下一个问题
else:
print(f"错了,正确答案是:{item['answer']}")
|