如何显示 python 中不包括当前值的前 4 个值?

How can I Display previous 4 value excluding current value in python?

基本上我有 1-12 范围内的数字和相应的值。如果用户输入 3,如何将输出显示为 b、a、l 和 k?

mm=int(raw_input("enter a number"))
ans = {
    "1":"a",
    "2":"b",
    "3":"c",
    "4":"d",
    "5":"e",
    "6":"f",
    "7":"g",
    "8":"h",
    "9":"i",
    "10":"j",
    "11":"k",
    "12":"l"
}
v=(mm-1)%12 
w=(mm-2)%12 
x=(mm-3)%12 
y= (mm-4)%12 

print ans[str(v)] 
print ans[str(w)] 
print ans[str(x)] 
print ans[str(y)]

如果有人帮助我使用此代码或任何其他替代方式,我会很有帮助。

这是你想做的吗?

mm = 1

def ans(i):
    i = (i+1)%12
    return chr(i+97)

def get_answer_list(i):
    return [ans((i-1)%12), ans((i-2)%12),ans((i-3)%12),ans((i-4)%12)]

print( get_answer_list(mm) )

这可以简化为

mm = 1

def ans(i):
    return chr(i+97)

def get_answer_list(i):
    return [ans(i%12), ans((i-1)%12),ans((i-2)%12),ans((i-3)%12)]

print( get_answer_list(mm) )

如果你可以使用列表而不是字典,我会选择

def get_ans(index):
    ans = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l"]
    end = index - 1
    start = end - 4
    if start < 0:
        result = ans[start:] + ans[:end]
    else:
        result = ans[start:end]
    print result

if __name__ == "__main__":
    mm=int(raw_input("enter a number "))
    get_ans(mm)

如果您不能直接使用列表,我建议您使用 range 生成您需要的 4 个整数,然后在您的字典中查找它们的值。