将列表编号转换为返回的另一个值[python]

时间:2018-11-27 11:40:50

标签: python function dictionary

我目前正在处理此代码:

def N_C(question,choice):
    N_C_choice_count_max = len(choice)
    N_C_choice_count_min = N_C_choice_count_max - N_C_choice_count_max
    N_C_restart_input = True
    N_C_choices = []
    print(question)
    for i in range (N_C_choice_count_min,N_C_choice_count_max):
        print(N_C_choice_count_min+i+1,":",choice[i])
        str(N_C_choices.append(N_C_choice_count_min+i+1))
    while N_C_restart_input == True:
        N_C_input = input(">")
        if str(N_C_input) in str(N_C_choices):
            break
        else:
            continue
    return(N_C_input)

N_C("question",["choice1","choice2","asmanychoicesasyouwant"])

它确实可以正常工作,但是要选择一个选项,您要输入选择的编号,这很有意义,但我希望它代替返回他们选择的编号,即该编号附带的实际选择

我想也许带有字典的某些东西可能会起作用,甚至只是使用提供的选择列表,但我无法弄清楚,可以得到帮助。

1 个答案:

答案 0 :(得分:0)

choice 是一个包含所有答案的列表,而 N_C_input 是一个数字字符串,与 choice 相关。

return choice[int(N_C_input)-1]

返回实际选择。