|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 fengma 于 2024-8-11 15:47 编辑
- answer_list = ['A'、'B'、'D']
- options = ['A'、'B'、'C'、'D']
复制代码
如何优化的找出它们的相同组并执行click()(有选择的选项A被提前选择就不管,以此类推)?
我个人是用的双重for来查找.好奇python有优化的解法吗?
本帖最后由 qq1151985918 于 2024-8-13 21:44 编辑
我看不懂这句话啥意思
(有选择的选项A被提前选择就不管,以此类推)
你的意思是不是这样:
有一道多选题,题目有ABCD四个选项,答案是ABD,怎样执行一个函数从选项中匹配正确的答案内容?
如果是这个意思那你可以用字典+循环的方式
我猜测你是不是这样写的:
- answer_list = ['A', 'B', 'D']
- options = ['A.这是A选项', 'B.这是B选项', 'C.这是C选项', 'D.这是D选项']
- question = '这是问题?'
- print(question, '正确答案是:\n')
- for answer in answer_list:
- for option in options:
- if answer in option:
- print(option)
复制代码
这样是比较容易出问题的,假设选项变一变只怕就出不来正确结果了
你可以把
- options = ['A.这是A选项-ASD', 'B.这是B选项-QWE', 'C.这是C选项-ABD', 'D.这是D选项-XYZ']
复制代码
换上去试试
而我的建议是
- answer_list = ['A', 'B', 'D']
- options = ['A.这是A选项-ASD', 'B.这是B选项-QWE', 'C.这是C选项-ABD', 'D.这是D选项-XYZ']
- question = '这是问题?'
- options = {option[0]: option for option in options} # 将选项转换为字典方式
- def test(question, options, answer_list):
- print(question, '正确答案是:\n')
- for answer in answer_list:
- print(options[answer])
- if __name__ == '__main__':
- test(question, options, answer_list)
复制代码
|
|