7.用select编写一道单选题和多选题
时间: 2024-03-14 13:43:41 浏览: 177
好的,下面是单选题和多选题的示例脚本:
单选题:
```bash
#!/bin/bash
echo "单选题:哪种语言不是面向对象的?"
# 定义选项数组
options=("Java" "Python" "C" "Ruby")
# 使用select显示选项菜单
select option in "${options[@]}"; do
case $option in
Java)
echo "回答正确!"
break
;;
*)
echo "回答错误!"
break
;;
esac
done
```
这个脚本会使用`select`来显示单选题的选项菜单,用户可以根据菜单提示输入选项编号,脚本会根据用户的选择给出回答是否正确。
多选题:
```bash
#!/bin/bash
echo "多选题:以下哪些是编程语言?(多选)"
# 定义选项数组
options=("Java" "MySQL" "Python" "HTML" "C" "CSS")
# 定义正确答案数组
answers=("Java" "Python" "C")
# 定义用户选择的答案数组
user_answers=()
# 使用select显示选项菜单
select option in "${options[@]}"; do
case $option in
${options[0]} | ${options[2]} | ${options[4]})
# 如果是正确答案,则将选项添加到用户选择的答案数组中
user_answers+=("$option")
;;
${options[1]} | ${options[3]} | ${options[5]})
# 如果是错误答案,则跳过
continue
;;
*)
# 如果输入的不是选项编号,则结束循环
break
;;
esac
done
# 判断用户选择的答案是否正确
if [ "${user_answers[*]}" == "${answers[*]}" ]; then
echo "回答正确!"
else
echo "回答错误!正确答案为:${answers[*]}"
fi
```
这个脚本会使用`select`来显示多选题的选项菜单,用户可以根据菜单提示输入选项编号,脚本会根据用户的选择给出回答是否正确。需要注意的是,我们使用了数组来存储选项和正确答案,以及使用了`+=`来在数组中添加元素,`[*]`来将数组转换为字符串进行比较。
阅读全文