我最近开始编写Python代码,并决定编写一个简短的程序。一年前我参加了一次历史考试,考试的第一项任务是按时间顺序排列三件事。我想用一个程序来重新创建这个任务,这个程序将这些事件随机化,这样它就有可能生成成千上万个这样的独特任务(在实际的程序中不应该看到年份):
1.铜暴动(1662)
2.库利科沃战役(1380)
3.第一次十字军东征(1096年)
我设法做到了。但每项任务都有答案。它存储在一个名为年份的列表中。还有另一个列表,叫做syears,它按时间顺序排列。你知道吗
years = [1662, 1497, 1096]
syears = [1096, 1497, 1662]
有一个名为answer的变量应该存储正确的答案。 正确答案是:321
但是我对一个程序得到正确答案有一个问题,我决定强行执行它:
answer = 0
if years[0] == syears[0]:
# answer = '1'
if years[1] == syears[1]:
# answer = '12'
if years[2] == syears[2]:
answer = '123'
else:
answer = '132'
elif years[1] == syears[1]:
# answer = '2'
if years[0] == syears[0]:
# answer = '21'
if years[2] == syears[2]:
answer = '213'
else:
answer = '231'
And so on...
但是,它不起作用。而且,我怀疑这是个糟糕的编码。使用这两个列表得到正确答案的合理选择是什么?谢谢你的帮助!你知道吗
只是另一种不用耳朵的方法。你知道吗
查找每个元素的索引最好在循环中完成,如下所示:
(这里的索引将以零为基础。如果希望它们是基于一个的,则为每个添加1)。你知道吗
当然,有很多其他的方法来做你在这里要做的事情。包括这样一个单行列表理解,它完全避免了
syears
的需要:使用列表的
index
方法相关问题 更多 >
编程相关推荐