Python基础知识 - 比较2个数组

时间:2013-12-11 16:06:10

标签: python arrays

我已经设定了设计小游戏的任务,其中包括一个文本文件,该文件是“加密的”和文本文件的“解密”版本。向用户显示“加密”列表(已经读入并附加到数组中),其中包含一些线索,例如: A =#(我正在使用字典来存储符号的可能值。)

我的问题是:我创建了整个游戏,但我在菜单中添加了一个选项,允许最终用户将他们用“解密”列表(也读入数组)替换的单词进行比较看看他们是否完成了比赛。

我已经尝试了下面的代码并测试了游戏,让我100%确定单词是相同的,并且Python Shell打印出“抱歉!再试一次!”

这是代码:

def compareFiles():
    for eachLine in range(len(rsef)):
        if rsef[eachLine] == rssf[eachLine]:
            print("Congratulations! Puzzle Solved!")
        else:
            print("Sorry! Try Again!")
            secMenu()

对于上下文:

secMenu()是我的菜单
rsef是我的'加密'阵列
rssf是我要比较的'解密'数组。

编辑:

Which Option Would You Like To Choose?
Option Number: 1
--------------------------------
1. View The Encrypted Words With Some Clues.

A+/084&"
A3MANA+
8N203:
,1$&
!-MN
.A7&33&
AMA71N
&-&641'2
A))85
9&330M

这是排序列表:

Which Option Would You Like To Choose?
Option Number: 5

ACQUIRED
ALMANAC
INSULT
JOKE
HYMN
GAZELLE
AMAZON
EYEBROWS
AFFIX
VELLUM

1 个答案:

答案 0 :(得分:2)

这是检查两个列表中的所有项目是否相同:

def compareFiles():
    if rsef == rssf:
        print("Congratulations! Puzzle Solved!")
    else:
        print("Sorry! Try Again!")
        secMenu()

如果你坚持循环,那么下面的那个:)

def compareFiles():
    for eachLine in range(len(rsef)):
        if rsef[eachLine] != rssf[eachLine]:
            print("Sorry! Try Again!")
            secMenu()
            return 0 #exit the function, use this if you need it.

        print("Congratulations! Puzzle Solved!")