不知道我做错了什么?程序要求输入文件名并读取文件,但要打印编码的消息时,结果是空白的。我遗漏了什么,好像我把短语改成了普通的原始输入(“enter message”),代码可以工作,但这不是从txt文件读取
letters = "a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]
cshift = int(input("Enter a number: "))
phrase = open(raw_input("file name: "), 'r')
newPhrase = ""
for l in phrase:
if l in letters:
pos = letters.index(l) + cshift
if pos > 25:
pos = pos-26
newPhrase += letters[pos]
else:
newPhrase += " "
print(newPhrase)
这里的问题是这条线上的for循环:
将返回完整的行,而不是单个字符
因此,您还必须循环遍历这些行中的单个字符,或者读取文件二进制文件,或者使用file对象上的函数,一次读取一个字符
你可以这么做:
open
函数不返回字符串,而是返回可从中读取字符串的已打开文件的句柄。您应该在Python中搜索有关如何将文件读入字符串的信息,然后在REPL中尝试,以确保它返回的是字符串而不是其他内容相关问题 更多 >
编程相关推荐