在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python/ python3這樣的數(shù)組應(yīng)該如何組成字符串

python3這樣的數(shù)組應(yīng)該如何組成字符串

[
['多選題', '多選題', '多選題', '多選題','多選題文字', '多選題文字', '多選題文字', '單選題'],
['1', '1', '1', '1', '2','2', '文字', '3'],
[0.0, 1.0, 1.0, 0.0 , 0.0,1.0,'文字2', 2.0],
[0.0, 1.0, 1.0, 0.0 , 0.0,1.0,'文字2', 2.0],
]

1$2|3}2$2^文字2}3$2
1$2|3}2$2^文字2}3$2

0.0 表示沒有選擇答案,1.0表示選擇了答案, 最后兩個(gè)數(shù)組是循環(huán)的,

['多選題', '多選題', '多選題', '多選題','多選題文字', '多選題文字', '多選題文字', '單選題'],
['1', '1', '1', '1', '2','2', '文字', '3'], 兩個(gè)數(shù)組是固定的,代表第一題4個(gè)題,第二題和文字,第三題單選只有一個(gè)3

比如 ,根據(jù)題型來判斷

第一題選擇 0.0, 1.0, 1.0, 0.0 對應(yīng) 1$2|3}

第二題 選擇了 0.0,1.0,'文字2', 對應(yīng)2$2^文字2} ,

第三題選擇了,2.0 對應(yīng) 3$2

如何根據(jù) 這些數(shù)組組成 1$2|3}2$2^文字2}3$2 字符串,實(shí)在想不出來,請大佬們幫幫忙或者給點(diǎn)思路

回答
編輯回答
扯機(jī)薄

我理解的以及一個(gè)思路:

problem = [
    ['多選題', '多選題', '多選題', '多選題', '多選題文字', '多選題文字', '多選題文字', '單選題'],
    ['1', '1', '1', '1', '2', '2', '文字', '3'],
    [0.0, 1.0, 1.0, 0.0, 0.0, 1.0, '文字2', 2.0],
    [1.0, 1.0, 1.0, 0.0, 0.0, 1.0, '文字3', 3.0],
]


rule = problem[0]
nums = problem[1]
answers = problem[2:]


def generate_answer_string(answer):
    answer_string = ''
    index = 0
    rule_length = len(rule)
    while index < rule_length:
        question_type = rule[index]
        question_num = nums[index]
        # 添加題號 + '$'
        answer_string += question_num + '$'

        # 多選題
        if question_type == '多選題':
            for i in range(4):
                if answer[index] == 1.0:
                    answer_string += str(i + 1) + '|'
                index += 1
            answer_string = answer_string.rstrip('|')
        # 多選文字題
        elif question_type == '多選題文字':
            for i in range(2):
                if answer[index] == 1.0:
                    answer_string += str(i + 1)
                index += 1
            answer_string += '^' + answer[index]
            index += 1
        # 單選題
        elif question_type == '單選題':
            answer_string += str(int(answer[index]))
            index += 1

        # 添加結(jié)尾分割符 '}'
        answer_string += '}'
    return answer_string


for answer in answers:
    # 去除最后一個(gè) '}'
    answer_string = generate_answer_string(answer).rstrip('}')
    print(answer_string)
2018年4月22日 03:32