【发布时间】:2014-10-10 15:53:05
【问题描述】:
我遇到了一个问题,希望得到任何提示/建议。到目前为止,这是我的代码:
name = input("Enter text file name\n")
radio = {'a':'alfa', 'b':'bravo', 'c':'charlie', 'd':'delta','e':'echo', 'f':'foxtrot', 'g':'golf', 'h':'hotel','i':'india', 'j':'juliett', 'k':'kilo', 'l':'lima','m':'mike', 'n':'november', 'o':'oscar', 'p':'papa','q':'quebec', 'r':'romeo', 's':'sierra', 't':'tango','u':'uniform', 'v':'victor', 'w':'whiskey', 'x':'x-ray','y':'yankee', 'z':'zulu'}
def main():
try:
f = open(name, "r")
for line in f.read().split():
//print(line)
if line in radio:
print(radio[line])
else:
print("Not an radio/nato alphabet")
f.close()
except IOError:
print("file", nimi, "does not exist.")
main()
目前我的if line in radio: 找不到单个字母。我想知道是不是因为“line”是str格式而radio是adict?
澄清情况。这是文本文件和想要的输出。
文本文件:
A O U
G 1 Y
C A !
想要的输出:
alfa
oscar
uniform
golf
Not an radio/nato alphabet
yankee
charlie
alfa
Not an radio/nato alphabet
这是学校作业,检查软件不是最好的。想要的输出有那些额外的空格,但是当我使用 split() 命令进行 for-loop 时,它不会添加那些新行。
【问题讨论】:
标签: python string file python-3.x dictionary