【发布时间】:2014-01-17 16:31:22
【问题描述】:
所以我有这个代码:
import sys ## The 'sys' module lets us read command line arguments
words1 = open(sys.argv[2],'r') ##sys.argv[2] is your dictionary text file
words = str((words1.read()))
def main():
# Get the dictionary to search
if (len(sys.argv) != 3) :
print("Proper format: python filename.py scrambledword filename.txt")
exit(1) ## the non-zero return code indicates an error
scrambled = sys.argv[1]
print(sys.argv[1])
unscrambled = sorted(scrambled)
print(unscrambled)
for line in words:
print(line)
当我打印单词时,它会打印字典中的单词,一次一个单词,这很棒。但是,一旦我尝试对最后两行中的这些单词进行任何操作,它就会自动将单词分成字母,并在每个单词的每行打印一个字母。无论如何,有没有保持单词在一起?我的最终目标是做ordered=sorted(line),然后if (ordered==unscrambled) 让它打印字典中的原始单词?
【问题讨论】:
-
什么是
words?你能告诉我你得到的样本输出和预期的输出吗? -
好吧,它打印了整个字典,所以它每行打印一个单词:aardvark abacus accusation adore,但在命令模块中每个单词都在自己的行中。我截图了。 i.imgur.com/oM2aEf2.png
标签: python dictionary argv sorted sys